我正在使用Solr 4.10.2。我已經建立索引文件。在Schema.xml的,我已刪除ID領域,取而代之的是與NGRAM領域並取得NGRAM字段作爲唯一鍵。用另一個替換ID會降低Solr的性能嗎?
我有一個問題 - 當我會做搜索查詢Solr。將搜索傷害的性能?而且它也會影響D 主機緩存。
我正在使用Solr 4.10.2。我已經建立索引文件。在Schema.xml的,我已刪除ID領域,取而代之的是與NGRAM領域並取得NGRAM字段作爲唯一鍵。用另一個替換ID會降低Solr的性能嗎?
我有一個問題 - 當我會做搜索查詢Solr。將搜索傷害的性能?而且它也會影響D 主機緩存。
使用NGRAM字段作爲唯一鍵是一個非常糟糕的主意。唯一的關鍵字段不能是「標記化」類型,否則多個單獨的標記包含導致錯誤肯定匹配的關鍵字。您應該只使用字符串或int/long字段類型作爲唯一鍵的類型。
當然,性能也有所影響,因爲NGRAM領域創造了許多標記,而不是一個,但相比於其他問題,如誤報那簡直是微不足道的,重複的文檔。
不,我不認爲這會影響Solr的性能。由於您將自己的字段定義爲uniqueKey,因此它將基於給定密鑰對文檔編制索引。我用我的項目中的一個我們使用documentId作爲uniqueKey的同一批處理。
我沒有使用ngram字段。 ngram只是該字段的名稱,其字段類型是字符串。您正在以錯誤的方式檢查問題。所以,告訴我它會降低性能 – iNikkz
不,使用任何其他字符串字段並不重要。無論uniqueKey字段被調用的性能如何。 – Shalin
我非常抱歉'@ Shalin'。實際上,我的ngram字段不是字符串類型。我已經定義自己的字段類型= 「textSpell」,其中包含2行' '&'<過濾器類= 「solr.ShingleFilterFactory」 maxShingleSize = 「3」 minShingleSize = 「2」 outputUnigrams = 「真」/>'。現在,Plz告訴我它是否會降低性能? –
iNikkz