2012-08-23 34 views
3

我們在我們的solr文檔集中添加了一個facet字段,它定義了它屬於哪個組 - 數據從mysql中出來,我可以選擇將整數id(mysql pk)放在solr的facet值中,或者放入方面值中的短名稱(mysql varchar(32))。solr facets的整數和字符串值之間是否有任何有意義的性能差異?

使用短名稱有一些吸引力,因爲我們可以從用戶輸入(短名稱將成爲url的一部分)直接到solr查詢,而無需前往mysql來查找pk。

然而,在我走這條路線之前,我想知道如果在字符串字段上面對與從性能角度來看面向整型值的顯着區別。

回答

2

請勿將文本字段用於分面。你不會得到理想的行爲。

SolrFacetingOverview: -

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

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

嘗試使用字符串字段,它會很好,沒有任何開銷。

+0

對不起意思字符串不是文字 –

相關問題