我刚刚开始阅读 Lucene。在提供的示例之一中,在将文档添加到索引之前,将整个文件添加到文档中。
但是文档表明这种索引技术不会提供良好的性能。推荐的方法是将文件的每一行存储在单独的文档中。
我很想知道这如何有助于提高索引性能。
此外,我想验证我的理解,要将文件的每一行添加为文档字段,我们必须首先对该行进行标记以获取标记,然后为其创建一个字段。
最佳答案
即使不考虑性能,这两种方法也不会产生相同的结果。如果您有一个文档,其第一行是“fox”,第二行是“dog”,并且如果您搜索“fox”和“dog”,则第二种方法将不会有结果。
关于你的第二个问题,不,你不需要在创建文档和字段之前执行任何标记化。当您调用 IndexWriter#add(Document) 时,将执行标记化。
如果您正在开始使用 Lucene,我强烈建议您阅读 the demo code 。这将向您展示如何创建并搜索 Lucene 索引。
如果索引速度对于您正在开发的应用程序至关重要,那么 Lucene wiki 上有非常好的建议。 .
关于java - Lucene 中文档大小的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8992639/