Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Solr:将搜索词映射到筛选器_Solr - Fatal编程技术网

Solr:将搜索词映射到筛选器

Solr:将搜索词映射到筛选器,solr,Solr,我正在创建一个基于Solr4.3.0的搜索引擎。 我的用户应该被允许在同一搜索字段中输入位置,例如纽约,就像他们输入其他搜索关键字,例如餐厅一样。 我有一份可能的地点清单。 我可以捕捉这些位置并将它们映射到一个字段吗? 最后,我想显示一个链接:您将位置设置为纽约,如果您想删除过滤器,请单击纽约。后者在Solr中是标准的-但我没有映射的方法…没有概念搜索的一种可能方法是生成所有可能的查询,就像这样 SearchBox=旧金山咖啡馆 您应该创建类似这样的查询 BooleanQuery

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

没有概念搜索的一种可能方法是生成所有可能的查询,就像这样

SearchBox=旧金山咖啡馆

您应该创建类似这样的查询

   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
并将它们放在应该发生的位置 所以,你会有很多侥幸成功的结果,但至少它应该是你的一个开始

相关文章/文件

-看看BooleanQuery
-总的来说,关于概念搜索,这将是您的最佳解决方案,但实施起来会困难得多

您想获取位置字段的所有可能值并将其显示在UI上吗?不,例如,用户搜索纽约。我现在想去纽约。solr Qor的正常行为是将q=餐厅送到纽约。我希望Solr发送:q=餐厅&fq:locationField=纽约,而不是。所以,您希望用户输入他们的位置,然后应用fq?如果是,这就是你想要的,我无法理解你的问题。只需读取位置并创建fq参数等于NYyes的SolrQuery,但在哪里读取位置?钩子在哪里?请考虑一下,我只想要1个搜索字段,用于所有可能的关键词…哦,我明白了。你需要概念搜索,我想:在我们公司,我们最近刚刚运行概念搜索的挑逗。让我在答案中写下可能的方法