【问题标题】:Elastic Search for mobile internal memory search(8gb, 16gb, etc)用于移动内存搜索的 Elastic Search(8gb、16gb 等)
【发布时间】:2016-06-21 05:36:06
【问题描述】:

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

internal_memory : 8gb

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

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

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

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

【问题讨论】:

    标签: elasticsearch elasticsearch-2.0


    【解决方案1】:

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

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

    【讨论】:

    • 我可以使用Word Delimiter Token Filter吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多