我正在创建一个基于Solr 4.3.0的搜索引擎。 应该允许我的用户在相同的搜索字段中输入位置(例如纽约),就像他们输入其他搜索关键字(例如餐馆)一样。 我有一个可能的位置列表。 我可以抓住这些位置并将它们映射到一个场地吗? 最后,我想显示一个链接:"您将位置设置为纽约,如果您想删除过滤器,请单击纽约"。后者在Solr中是标准的 - 但我没有映射的方法......
答案 0 :(得分:0)
一种可能的方法(没有概念搜索)是生成所有可能的查询,如
SearchBox =" cafe san francisco"
你应该创建像这样的查询
BooleanQuery
Occur1 q=cafe&fq=san
Occur2 q=cafe san&fq=francisco
Occur3 q=cafe san francisco&fq=empty
...
OccurN q=cafe&fq=san francisco
...
etc
并将它们全部放置为Occur.SHOULD 所以,你会得到很多不可思议的结果,但至少它应该是你的首选方法。
相关文章/文档
http://www.lucenetutorial.com/lucene-query-syntax.html - 看一下BooleanQuery http://en.wikipedia.org/wiki/Concept_search - 关于概念搜索的总体情况(这对您来说是最好的解决方案,但实施起来会更难)