Rut*_*uth 4 lucene search solr proximity
在Solr中,您可以使用语法执行有序的邻近搜索
"word1 word2"~10
Run Code Online (Sandbox Code Playgroud)
按顺序排列,我的意思是word1将始终位于文档中的word2之前.我想知道是否有一种简单的方法来执行无序的邻近搜索,即.word1和word2出现在彼此的10个单词之间,首先出现的并不重要.
一种方法是:
"word1 word2"~10 OR "word2 word1"~10
Run Code Online (Sandbox Code Playgroud)
如果可能的话,上面的内容会有效,但我正在寻找更简单的东西.
Slop表示可以发生多少个单词转置.所以"a b"将与"b a"不同,因为允许不同数量的转置.
a foo b有位置(a,1),(foo,2),(b,3).要匹配(a,1),(b,2)将需要一个更改:(b,2)=>(b,3)一般来说,如果"a b"~n匹配某些东西,那么"b a"~(n+2)也会匹配它.
编辑:我想我从来没有给出答案.我看到两个选择:
我认为#2可能更好,除非你的slop非常大.
| 归档时间: |
|
| 查看次数: |
3837 次 |
| 最近记录: |