java - Lucene 中文档大小的影响

标签 java apache search lucene

我刚刚开始阅读 Lucene。在提供的示例之一中,在将文档添加到索引之前,将整个文件添加到文档中。

但是文档表明这种索引技术不会提供良好的性能。推荐的方法是将文件的每一行存储在单独的文档中。

我很想知道这如何有助于提高索引性能。

此外,我想验证我的理解,要将文件的每一行添加为文档字段,我们必须首先对该行进行标记以获取标记,然后为其创建一个字段。

最佳答案

即使不考虑性能,这两种方法也不会产生相同的结果。如果您有一个文档,其第一行是“fox”,第二行是“dog”,并且如果您搜索“fox”和“dog”,则第二种方法将不会有结果。

关于你的第二个问题,不,你不需要在创建文档和字段之前执行任何标记化。当您调用 IndexWriter#add(Document) 时,将执行标记化。

如果您正在开始使用 Lucene,我强烈建议您阅读 the demo code 。这将向您展示如何创建并搜索 Lucene 索引。

如果索引速度对于您正在开发的应用程序至关重要,那么 Lucene wiki 上有非常好的建议。 .

关于java - Lucene 中文档大小的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8992639/

相关文章:

c++ - 有效地在对象的链接列表中搜索字符串

java - 幸存者编程挑战

java - 使用标志启动应用程序

Java Bufferedimage setRgb getRgb,2个不同的结果

apache - 如何停止重写规则?

apache - 如何使用基本身份验证保护在 Apache2 虚拟主机中反向代理的 Tomcat Web 应用程序?

php - 我可以依赖 mod_rewrite 吗?

java CompletableFuture.thenCombine 返回 CompletableFuture 的 CompletableFuture

mysql - B树索引在mysql中是如何工作的

mysql - mysql中的正则表达式搜索和替换