在Sunspot和WebSolr中匹配3个术语中的2个

Ger*_*Ger 1 solr full-text-search sunspot-rails websolr sunspot-solr

我搜索的部分匹配无法正常工作.当我在我的搜索中输入"都柏林爱尔兰"时,它会正确地返回爱尔兰都柏林的所有结果.但是,当我输入"爱尔兰都柏林郡"时,它不会返回任何内容.

我在schmea.xml中设置了一个EdgeNGramFilter,如下所示:

<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="10"/>
Run Code Online (Sandbox Code Playgroud)

我正在对太阳黑子头的位置进行全文搜索:

search_results = Events.solr_search do
  fulltext location do
    fields(:address)
  end
end
Run Code Online (Sandbox Code Playgroud)

为什么即使3个词中有2个匹配,我也没有得到任何结果?

Nic*_*zny 5

默认情况下,Sunspot使用DisMax Query Parser,并支持块minimum_match内的方法fulltext.

search_results = Events.solr_search do
  fulltext location do
    fields :address
    minimum_match 2
  end
end
Run Code Online (Sandbox Code Playgroud)

也可以看看: