2012-10-15 72 views
0

我是elasticsearch(和底層Lucene引擎)的新手。控制彈性搜索字段的標記化方法

我們存儲有關文件的一些元數據,例如一個單一的文件可以被描述爲:

UniqueHash: ABC123 
CreatedBy: John Smith 
ApplicationName: MSExcel 
ContentType: application/vnd.ms-excel 
WordCount: 7000 
... 

這一切都非常好,索引/搜索,但是當我們來到小面,事情就變得有趣。

FACETING上(比如說)CreatedBy將返回

John: 1 
Smith: 1 

或上的ContentType

application: 1 
vnd.ms: 1 
excel: 1 

這些都不是理想的。我沒有直接控制該領域的內容(也就是說,我無法更改基礎數據)。我可以在途中執行轉換,但這會導致存儲不友好的數據,因此搜索按預期工作,這感覺就像是錯誤的方法。

我該如何說服elasticsearch將每個字段(或至少指定的字段)的整個內容視爲用於分面的值?

+0

@javanna謝謝,我沒有發現錯字的一天。 – Basic

回答

1

您可以使用Multi Field類型爲您的字段索引兩次。重新索引後,您將可以繼續使用分析的字段進行搜索,並使用該面的「未觸及」版本。

+0

這聽起來很有希望,謝謝 - 我現在要閱讀鏈接的文章 – Basic

+0

這正是我需要的,非常感謝 – Basic