2013-05-07 59 views
0

我有我的產品DOC 2個多值字段: -Solr的:查詢不同類型的2個相關的多值字段

  1. 特點
  2. Features_Score

特色領域類型:字符串)具有該產品的多個功能。每個功能都有一個字符串值。 Features_Score類型:整數)是一個並行多值字段,包含相應特徵的得分。

很顯然,這兩個字段都會有相同的號碼。項

的現在,我想查詢Solr的是這樣的: -

給我所有這些產品(Solr的文檔)其中功能: '耐用'features_score> '10'

我想這個查詢返回的所有產品功能的耐用性和耐用性特點該產品應高於10

分數,但,因爲沒有映射(在索引級別,這將不會返回預期的結果)在特徵和特徵_分區之間。

我該如何實施? Solr有沒有內置的支持?

回答

2

這可以通過定義dynamic fields來實現。

您需要修改架構以使其字段的值爲{feature name}_feature,並將其作爲動態字段名稱和分數。
這將幫助您將該功能與其分數相映射。

例如

durability_feature=11 

Schema.xml的

<dynamicField name="*_feature" type="int" indexed="true" stored="true"/> 

這樣你就可以輸入數據作爲durability_feature與各自的特徵分數。

過濾器查詢將能夠匹配確切的映射fq=durability_feature > 10