问题描述
我的搜索部分匹配无法正常工作。当我输入都柏林爱尔兰进入我的搜索时,它会正确地返回爱尔兰都柏林的所有结果。然而,当我输入County Dublin Ireland时,它不会返回任何内容。
我在schmea.xml中设置了一个EdgeNGramFilter,如下所示:
< filter class =solr.EdgeNGramFilterFactoryminGramSize =1maxGramSize =10/>
我正在位置上的太阳黑子端进行全文搜索:
$ b $
search_results = Events.solr_search do
全文位置
字段(:地址)
结束
结束
即使3个字词中有2个匹配,我怎么没有收到结果?
默认情况下,Sunspot使用DisMax Query Parser,并支持 minimum_match
方法在全文
区块内。
search_results = Events.solr_search do
全文位置
字段:地址
最低匹配2
结束
结束
另见:
THe partial matching on my search is not working correctly. When I type in "Dublin Ireland" into my search then it correctly returns all the results in Dublin, Ireland. However, when I type "County Dublin Ireland" then it doesn't return any.
I've set up an EdgeNGramFilter in my schmea.xml like so:
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="10"/>
And I'm doing a fulltext search on the sunspot end on location:
search_results = Events.solr_search do
fulltext location do
fields(:address)
end
end
How come I'm getting no results even though 2 out of the 3 terms match?
By default, Sunspot uses the DisMax Query Parser, and supports a minimum_match
method within the fulltext
block.
search_results = Events.solr_search do
fulltext location do
fields :address
minimum_match 2
end
end
See also:
- Stack Overflow - Solr Sunspot minimum_match
- Stack Overflow - Rails 3 Sunspot Fulltext Search Usage
- Solr Wiki - DisMax query parser
- Websolr Blog - How do I query with boolean logic using Sunspot?
这篇关于在Sunspot和WebSolr中匹配3个术语中的2个的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!