我查询Solr的是这样的:SOLR查询升压
http://XXX.xx.xx:xxx/solr/select?q=name:(pizza)&fq=locationid:6050 OR _query_:"{!bbox}"&sfield=location&pt=34.0211224, -118.39646&d=8
我的名字列搜索记录和记录必须落在8公里Boundry OR locationid列值6050
现在我想要提升与位置列值6050相匹配的记录。
我查询Solr的是这样的:SOLR查询升压
http://XXX.xx.xx:xxx/solr/select?q=name:(pizza)&fq=locationid:6050 OR _query_:"{!bbox}"&sfield=location&pt=34.0211224, -118.39646&d=8
我的名字列搜索记录和记录必须落在8公里Boundry OR locationid列值6050
现在我想要提升与位置列值6050相匹配的记录。
如果在filter query parameter内使用locationid:6050
过滤器,它不会影响得分。您应该首先将您的过滤器移动到q
参数中。然后,您可以使用edismax
或dismax
查询解析器,并像下面这样使用过滤器的权重:locationid:6050^2
。看看here。
嗨,感谢您的回复。如果我移到q参数中,它将在locationid列中搜索6050值。我不希望它搜索。它只有一个过滤器列 – 2012-02-23 21:18:44
谢谢我有想法使用dismax使它工作 – 2012-02-23 21:24:53
太好了,不客气! – javanna 2012-02-23 21:45:03
你能清理这个问题吗?很难理解你在问什么。缩写和缺乏标点也没有帮助。为你的问题付出一些努力,人们将更有可能将努力付诸于他们的答案。 – 2012-02-23 19:58:36
谢谢罗伯特..我编辑了这个问题,谢谢 – 2012-02-23 20:10:37