使用过滤器查询进行Solr查询

时间:2017-11-22 03:13:25

标签: solr solr6

我需要使用solr查询来处理建议。建议工作正常。但问题是建议是有条件的,即建议是基于地理位置。我想要以下等效查询:

q=<SEARCH TERM>&fq=country:"<search country>"

我尝试了一些方法,但它们没有用。处理这种情况的方法是什么?

编辑1: 建议配置:

<searchComponent name="suggest" class="solr.SuggestComponent"> 
<lst name="suggester"> 
<str name="name">mySuggester</str> 
<str name="lookupImpl">FuzzyLookupFactory</str> 
<str name="dictionaryImpl">DocumentDictionaryFactory</str> 
<str name="field">autofill</str> 
<str name="contextField">allowed_location</str> 
<str name="suggestAnalyzerFieldType">text_autofill</str> 
<str name="buildOnStartup">false</str> 
<str name="storeDir">path on file system</str> 
</lst> 
</searchComponent>

1 个答案:

答案 0 :(得分:0)

您必须在solrconfig.xml中配置建议者组件,您的建议查询必须是以下形式(缩短)

suggest.q=<search_term>&suggest.cfq=<search_country>

如果您需要过滤查询以处理国家/地区字段,则必须在solrconfig.xml中将其配置为 contextField

为了更好地理解,请参阅参考指南link