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