我的elasticsearch数据库有一个产品索引,其中有一个字段
internal_memory : 8gb我需要为以下示例字符串返回此字段:
8 gb
8 gb
8gb
16 gb (will have less score obviously)
16gb (will have less score obviously)我该如何为此编写一个自定义分析器呢?
我们是否应该使用nGrams进行这样的搜索,因为这不是自动完成搜索或按键击搜索?
发布于 2016-06-21 05:36:07
https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-pattern-tokenizer.html
您需要使用group>0 (因此,分隔符也是其中一个标记),并为数字指定正则表达式,将空格指定为分隔符,如'(\d+|\s+)‘。不幸的是,空格也会被算作令牌,你可能需要用令牌过滤器过滤掉它们。
https://stackoverflow.com/questions/37922954
复制相似问题