弹性搜索移动内存搜索(8gb,16gb等)

时间:2016-06-20 12:45:44

标签: elasticsearch elasticsearch-2.0

我的elasticsearch db有一个产品索引有一个字段

internal_memory : 8gb

我需要为以下示例字符串返回此字段:

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

如何为此编写自定义分析器?

我们是否应该使用nGrams进行此类搜索,因为这不是自动填充或按键搜索?

1 个答案:

答案 0 :(得分:0)

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

你需要使用group> 0(因此,分隔符也是其中一个标记)并将数字和空格的正则表达式指定为像这样的分隔符'(\ d + | \ s +)'。不幸的是,空格也会被视为令牌,您可能需要使用令牌过滤器对其进行过滤。