2012-02-23 142 views
1

我查詢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相匹配的記錄。

+0

你能清理這個問題嗎?很難理解你在問什麼。縮寫和缺乏標點也沒有幫助。爲你的問題付出一些努力,人們將更有可能將努力付諸於他們的答案。 – 2012-02-23 19:58:36

+0

謝謝羅伯特..我編輯了這個問題,謝謝 – 2012-02-23 20:10:37

回答

3

如果在filter query parameter內使用locationid:6050過濾器,它不會影響得分。您應該首先將您的過濾器移動到q參數中。然後,您可以使用edismaxdismax查詢解析器,並像下面這樣使用過濾器的權重:locationid:6050^2。看看here

+0

嗨,感謝您的回覆。如果我移到q參數中,它將在locationid列中搜索6050值。我不希望它搜索。它只有一個過濾器列 – 2012-02-23 21:18:44

+0

謝謝我有想法使用dismax使它工作 – 2012-02-23 21:24:53

+0

太好了,不客氣! – javanna 2012-02-23 21:45:03