2016-06-20 76 views
1

我elasticsearch DB有一個產品指標有場彈性搜索手機內存搜索(8GB,16GB等)

internal_memory : 8gb 

我需要這個領域下面的示例字符串返回:

8 gb 
8 gb 
8gb 
16 gb (will have less score obviously) 
16gb (will have less score obviously) 

如何爲此編寫自定義分析器?

我們應該使用nGrams進行這樣的搜索嗎?因爲這不是自動完成或每個關鍵筆劃搜索?

回答

0

https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-pattern-tokenizer.html

需要使用組> 0(因此,分離器也是令牌中的一個)和用於數字和空格作爲這樣的隔板指定正則表達式「(\ d + | \ S +)」。不幸的是,空格也會被計爲令牌,您可能需要使用令牌過濾器將其過濾掉。

+0

我可以使用Word分隔符令牌篩選器嗎? – ajaysingh

+0

通過描述來判斷它應該工作,試試) – xeye