我查詢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