Solr邻近搜索没有返回结果

时间:2017-03-06 23:28:19

标签: solr

我使用的查询是q=name:"william test bay"~2

Schema.xml具有以下内容:

  <field name="name" type="text_en" indexed="true" stored="true"/>

以下两个是我想要返回的响应,但实际上没有返回结果:

"response": {
    "numFound": 2,
    "start": 0,
    "docs": [
      {
        "id": "3",
        "name": "william bay",
        "_version_": 1561163645757423600
      },
      {
        "id": "4",
        "name": "william bay photography",
        "_version_": 1561163645757423600
      }
    ]
  }

我想知道原因。例如,我想匹配&#34; william test bay&#34;到威廉湾&#34;。我认为编辑距离是1,只是删除术语&#34;测试&#34;?实际上,即使name:"william test bay"~1000也无效。

目前使用Solr 4.10.3。这是Cloudera Search使用的,所以我无法升级它。

2 个答案:

答案 0 :(得分:1)

邻近搜索

在Proximity中,所有短语查询关键字都必须存在于文档中。在您的情况下,测试关键字不存在。这就是为什么你没有得到任何结果。

邻近搜索会查找彼此相距特定距离的字词。
此处引用的距离匹配指定短语所需的字词移动次数。但不要从短语查询中删除关键字 [实施例]

text : william bay photography
query : william photography

要匹配上述查询距离必须为1。因为搜索字符串只需移动一个单词即可与文本匹配。

q:"william photography"~1

答案 1 :(得分:1)

您可以尝试使用查询:q=name:(william test bay)