lucene-限制域的大小maxFieldLength
程序员文章站
2022-05-15 12:39:02
...
1、有些应用程序会索引事先不知道大小的文档。为了控制应用程序对内存和虚拟内存的使用,限制输入索引的文档数量。有些则可能只需要索引每个文档中的一部分内容。
2、为了把域的大小限制在1000个项以内,某个应用程序也许会把maxFieldLength设置为1000。可以把它设置为Integer.MAX_VALUE。
3、MAXFieldLength的值可在索引过程中的任意时刻被修改,并对其后增加的所有文档起作用。
4、
Private String[]unstored={"abc def gcf xyz"};
IndexWriter writer=new IndexWirter(dir ,newSimpleAnalyzer(),true);
writer.maxFieldLength=4;//设置需要索引的项数
Document doc=new Document();
doc.add(Field.Keyword("id",keywords[i]));
doc.add(.....)
.....
writer.addDocument(doc);//将域中的前4个词到xyz为止
writer.maxFieldLength=1;//设置需要索引的项数
Document doc=new Document();
doc.add(Field.Keyword("id",keywords[i]));
doc.add(.....)
.....
writer.addDocument(doc);//"xyz"将不列入索引范围内