2013-05-22 49 views
0

我想面向特定的字段。該字段定義爲solr方面字段值似乎是由solr生成

<field name="specials_de" type="textgen" indexed="true" stored="true" multiValued="true"/> 

在specials_de值的兩個是「丘納德漢堡特價」和「丘納德紐約客」。我想使用這兩個值作爲方面,但solr查詢返回具有類似值的facet字段

<int name="cunard">11</int> 
<int name="new">9</int> 
<int name="yorker">9</int> 
<int name="hamburg">5</int> 
<int name="hamburgspecialscunard">3</int> 
<int name="hamburgspecials">2</int> 

我在做什麼錯?

只是爲了澄清:我不是指數(11,9,等等),但是名字,即「丘納德」,「新的」,等等。

回答

1

文本字段,不建議用於刻面。 您不會得到所需的行爲,因爲文本字段將被標記和過濾,從而導致產生多個標記,您可以從作爲響應返回的構面中看到這些標記。

SolrFacetingOverview: -

因爲小面領域往往指定一舉兩得, 人類可讀的文本和向下鑽取查詢值,他們經常 從用於搜索和排序字段建立索引是不同的:

  1. 它們通常未標記化到單獨的詞語
  2. 它們通常沒有被映射到下殼體
  3. 通常不會刪除人類可讀的標點符號(除雙引號外)
  4. 通常不需要存儲它們,因爲存儲的值看起來非常像索引值,並且分塊機制用於檢索值 。

嘗試使用字符串字段,這將是足夠好,沒有任何開銷。

+0

謝謝,這是解決方案。 – midnig