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"将不列入索引范围内
本文介绍了一种通过设置maxFieldLength参数来控制文档索引长度的方法,以限制索引的内存占用并提高搜索效率。文中详细解释了如何动态调整索引长度,包括仅索引文档的部分内容或完全排除某些字段。
245

被折叠的 条评论
为什么被折叠?



