Solr:将搜索词映射到过滤器

时间:2014-03-29 23:57:10

标签: solr

我正在创建一个基于Solr 4.3.0的搜索引擎。 应该允许我的用户在相同的搜索字段中输入位置(例如纽约),就像他们输入其他搜索关键字(例如餐馆)一样。 我有一个可能的位置列表。 我可以抓住这些位置并将它们映射到一个场地吗? 最后,我想显示一个链接:"您将位置设置为纽约,如果您想删除过滤器,请单击纽约"。后者在Solr中是标准的 - 但我没有映射的方法......

1 个答案:

答案 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 - 关于概念搜索的总体情况(这对您来说是最好的解决方案,但实施起来会更难)