2011-09-28 119 views
5

我正在嘗試在網站上使用Solr進行分面研究。如何檢索Solr搜索的所有適用的方面字段

當用戶關閉搜索查詢時,我查詢Solr並檢索可以顯示的搜索結果。

我的問題是 - 如何找出哪些分面字段和術語適用於搜索結果?

要清楚 - 不同類別的產品具有不同的方面字段,我想找到一種方法爲已返回的搜索結果找回最相關的方面字段。我不想指定字段 - 我希望Solr爲我確定相關的字段。

在此先感謝!

+0

自從您詢問此查詢已經很長時間了。與以下答案相比,您是否找到了支持此方法的好方法?我面臨着同樣的問題,所以想想如果你能分享你的發現。 – Ethan

回答

1

我建議您查看Solr Wiki上的所有Simple Facet Parameters,尤其是底部的示例,因爲它們會向您展示可以爲查詢配置構面結果的所有可能方法。

如果我正確理解你的問題......默認情況下,分面將僅基於結果集中的文檔帶回分面/計數。但是,爲了使這些與搜索更相關,您應該將facet.mincount設置爲默認值0以外的其他值。 &facet.mincount=1。但是,請再次參考文檔,瞭解它如何工作並可應用於您的場景。

+0

感謝Paige - 我早前通讀過這個鏈接。我的問題是,即使您設置facet.mincount - 您仍然必須指定一個或多個facet字段: 例如 select?q = ipod&rows = 0&facet = true&facet.limit = -1&facet.field = cat&facet.mincount = 1&facet.field = inStock (我將指定字段「cat」和「inStock」) 我想知道如何查詢,但*不*指定字段。我希望所有的積極計數領域都能得到回報。 –

+2

如果不指定要指定的字段,則無法獲取構面。對不起,這只是應用程序的工作原理。你可以打開你可能會感興趣的所有字段,然後對結果進行一些預處理,只顯示基於返回結果的相關字段。 –

+0

ah right - thanks again 。這很遺憾 - 一旦我完成搜索,我無法確定哪些分面字段將適用於返回的搜索結果。在我的整個產品系列中,有許多不同的產品,結果產生了許多方面的領域......看起來我必須單獨管理方面領域層次結構,以便我知道要面向哪個領域。它看起來像他們正在考慮通配符語法 - 但後來認爲這是abad的想法 - https://issues.apache.org/jira/browse/SOLR-247 –

1

我有同樣的問題。

我最終做的是查詢Solr查詢給定查詢的前50個匹配項,然後收集這些產品上設置的屬性的名稱。然後我做了另一個查詢,並將方面字段設置爲我第一次找到的產品屬性。