Search 在Solr中使用短语进行邻近搜索

Search 在Solr中使用短语进行邻近搜索,search,solr,proximity,Search,Solr,Proximity,我经常使用Solr的邻近搜索来搜索彼此之间指定范围内的单词,如下所示 "Government Spending" ~2 我想知道是否有一种方法可以使用一个短语和一个或两个短语来执行邻近搜索。这可能吗?如果是这样,语法是什么?这似乎“有点”可行。考虑这篇课文: This is more about traffic between Solr servers themselves 即使您更改了它的工作顺序: 但距离太远,它就停止工作: 我认为,如果这不起作用,那么制作一个定制的请求处理程

我经常使用Solr的邻近搜索来搜索彼此之间指定范围内的单词,如下所示

"Government Spending" ~2
我想知道是否有一种方法可以使用一个短语和一个或两个短语来执行邻近搜索。这可能吗?如果是这样,语法是什么?

这似乎“有点”可行。考虑这篇课文:

This is more about traffic between Solr servers themselves 

即使您更改了它的工作顺序:

但距离太远,它就停止工作:


我认为,如果这不起作用,那么制作一个定制的请求处理程序来实现这一点可能不会太难。我认为您可能需要定义一种新的语法,预处理类似
(“短语一”“短语二”)~2
。我猜,如果你正在用木瓦,并且你创建了一个Lucene查询,其中有一个表示“短语一”的标记,还有一个表示“短语二”的标记,它们有一定的接近性,我认为它会起作用。(当然,您需要实际进行lucene java调用,您不能只是将查询交给(阅读本文))。

开箱即用,我发现了一种使用多个单词或短语执行Solr邻近搜索的方法,请参见下文

用三个字:

“(1)(2)(3)字)~10

用两个短语:(注意双引号需要转义)


“(\'phrase1\”(\'phrase2\”)~10

自Solr 4以来,这是可能的

例如,查询“短语一”后面“短语二”的位置,不超过以下3个单词:

3W(phrase W one, phrase W two)
要在“短语一”的5个单词附近查询“短语二”:

5N(phrase W one, phrase W two)