Java 短语查询和使用木瓦过滤器有什么区别?
我目前正在使用lucene为网页编制索引。其目的是能够快速提取包含特定表达式(通常为1、2或3个单词)的页面,以及页面中还有哪些其他单词(或1到3个单词的组合)。 这将用于构建/丰富/修改同义词表(固定词汇表) 从我找到的文章来看,问题似乎是找不到(或用木瓦) Lucene有a、a和a,它们似乎与此任务相关 从中,我了解到Lucene还可以搜索由固定数量的单词分隔的术语(称为slop)。给出了一个例子 然而,我不清楚这些方法之间的区别?它们是根本不同的,还是您必须做出性能/索引大小的选择 ShingleMatrixFilter和ShingleFilter之间有什么区别Java 短语查询和使用木瓦过滤器有什么区别?,java,lucene,information-retrieval,Java,Lucene,Information Retrieval,我目前正在使用lucene为网页编制索引。其目的是能够快速提取包含特定表达式(通常为1、2或3个单词)的页面,以及页面中还有哪些其他单词(或1到3个单词的组合)。 这将用于构建/丰富/修改同义词表(固定词汇表) 从我找到的文章来看,问题似乎是找不到(或用木瓦) Lucene有a、a和a,它们似乎与此任务相关 从中,我了解到Lucene还可以搜索由固定数量的单词分隔的术语(称为slop)。给出了一个例子 然而,我不清楚这些方法之间的区别?它们是根本不同的,还是您必须做出性能/索引大小的选择 Shi
希望Lucene大师能找到这个问题,并回答;-) 使用短语与使用木瓦之间的差异主要涉及性能和评分 在索引中有单个单词的典型情况下使用短语查询(如“foo-bar”)时,短语查询必须遍历“foo”和“bar”的倒排索引,找到包含这两个术语的文档,然后遍历它们在这些文档中的位置列表,以查找“foo”出现在“bar”之前的位置. 这对性能和评分都有一定的影响:
感谢您的详细回答(已接受)。你能评论一下ShingleFilter和ShingleMatrixFilter的区别吗?解释得很好。这篇文章通过一些实际例子帮助我理解了带状疱疹: