2010-10-14 15 views
2

我正在研究如何使用Solr來進行項目,我們有一些特定的構面要求。據我所知,Solr提供了基於範圍的方面,其中Solr可以提供不同數值範圍或日期範圍的方面,例如e.i.字段值被「分組」並聚合到不同的分箱中。在SOLR中開發自定義面計算

我想要做類似的事情,但我想創建一個自定義函數,將字段值映射到我的特定構面,以便使用函數來評估每個字段值以查看它屬於哪個方面。 myFacet = myFacetMapper(fieldValue)

它是一種更高級的range-facets版本,但是其中的值使用自定義函數映射而不是僅放入不同的bin。

有誰知道這是可能的,從哪裏開始?

回答

1

創建value = myFacetMapper(field)的另一個字段,然後對該字段進行常規刻面。

+0

事情是,我想映射函數是動態的(理想情況下基於查詢),所以我想做一個查詢時間,而不是在索引時間。 這是如何實現範圍方面?實際存儲範圍,還是可以查詢每個查詢的arbritary範圍? – Bjorn 2010-10-14 10:55:31

+0

@Bjorn:卡卡是正確的,在索爾你通常在索引時間,而不是在查詢時間做這種事情。 – 2010-10-14 12:52:36

+0

但我真的需要在查詢時間做到這一點:-) 從算法的角度來看,我想要做的是掛鉤在實際聚合執行的步驟。由於這可能(..?......見我上面的評論)是由Solr在計算刻面範圍時完成的,它可以沒有太多的麻煩。而不是映射1,2,3,4 - > bin [1-4]我想注入一個自定義函數。 – Bjorn 2010-10-14 13:43:59