Solr中,你可以使用语法Solr的接近有序VS无序
"word1 word2"~10
通过下令我的意思是字1总是将文档中的单词2之前来执行有序邻近搜索。我想知道是否有简单的方法来执行无序的邻近搜索,即。 word1和word2发生在彼此的10个字以内,并且无关紧要。要做到这一点
一种方法是:
"word1 word2"~10 OR "word2 word1"~10
上述工作,但我正在寻找简单的东西,如果可能的话
由于提前 露丝
Solr中,你可以使用语法Solr的接近有序VS无序
"word1 word2"~10
通过下令我的意思是字1总是将文档中的单词2之前来执行有序邻近搜索。我想知道是否有简单的方法来执行无序的邻近搜索,即。 word1和word2发生在彼此的10个字以内,并且无关紧要。要做到这一点
一种方法是:
"word1 word2"~10 OR "word2 word1"~10
上述工作,但我正在寻找简单的东西,如果可能的话
由于提前 露丝
趿拉意味着如何发生多字的换位。所以“一个b”将会与“b a”不同,因为允许不同数目的转置。
a foo b
具有位置(a,1),(foo,2),(b,3)。 (b,2)=>(b,3)一般来说,如果"a b"~n
匹配的东西,那么"b a"~(n+2)
也会匹配它。
编辑:我想我从来没有给出答案。我看到两个选项:
我觉得#2可能是更好的,除非你的污水是非常大的开始。
确定它已经不这样了?文档中没有任何内容说明它是“有序的”:
可以用粗糙的词组查询来完成邻近搜索。文件中出现两个词越接近,得分越高。粗言秽语的查询指定了最大的“污点”,或位置令牌的数量需要被移动以获得匹配。
本示例为标准请求处理程序会发现这里的“蝙蝠侠”中的“电影”的100个字出现的所有文件:
是的文档不清楚它,但在我运行这个例子是它是如何表现,即。 “邻近Solr”〜2会给“Solr邻近”带来不同的结果〜2 – Ruth 2010-11-03 11:45:49
由于Solr 4有可能与SurroundQueryParser。
E.g.做到有序搜索(查询,其中“语二”后,遵循“短语一个”不进一步超过3个字):
3W(phrase W one, phrase W two)
要做好的“这句话一个5个字接近无序搜索(查询“这句两个” “):
5N(phrase W one, phrase W two)
谢谢我发现这是非常有用的 – Ruth 2010-11-08 15:17:22