使用Solr从段落中进行短语匹配

时间:2017-05-22 14:57:05

标签: solr lucene

我有一份文件/国家名单。

ID:国家 名称:[伯利兹,贝宁,不丹,玻利维亚,波斯尼亚,波斯尼亚黑塞哥维那,博茨瓦纳,巴西,文莱]

如果我的问题是“我住在波斯尼亚黑塞哥维那”,或者更普遍的是“*波斯尼亚黑塞哥维那*”,那么我希望将国家视为查询结果。

我只能管理单字国家/地区。谁能帮我解决这个问题?提前谢谢。

EDITED

以下是该字段的架构配置。 <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.KeywordTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.KeywordTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> 我这样搜索:http://localhost:8983/solr/core/select?q=i love Bosnia Herzegovina&wt=json

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。实际上问题出在搜索查询中。我们必须使用一对第一个括号嵌入查询。这将解决问题。

之前:http://localhost:8983/solr/core/select?q=(i love Bosnia Herzegovina)&wt=json

解决:PickleSerializer