【问题标题】:elasticsearch search_analyzer is not applying filterselasticsearch search_analyzer 未应用过滤器
【发布时间】:2018-01-05 00:20:11
【问题描述】:

我无法让 search_analyzer 按预期工作。我希望它将指定的分析器应用于输入的搜索字符串,然后进行搜索。

我将索引分析器设置为 ngram 标记器,带有一个 l大写过滤器 和一个 char 替换(- 到 _)

然后我希望搜索分析器小写替换(- 到 _)

示例文档:{"filename": "AAA-BBB"}

应匹配的示例搜索:{"match": "AAA-b"}

相反,我必须使用:{“match”:“aaa_b”}

elasticsearch 版本:5.5

映射:

{
    "settings": {
        "analysis": {
            "tokenizer": {
                "DO_tokenizer_ngram": {
                    "type": "ngram",
                    "min_gram": 2,
                    "max_gram": 30
                }
            },
            "analyzer": {
                "DO_analyzer_ngram": {
                    "tokenizer": "DO_tokenizer_ngram",
                    "char_filter": [
                        "do_char_filter_dashes"
                    ],
                    "filter": [
                        "lowercase"
                    ]
                },
                "DO_analyzer_search": {
                    "type": "keyword",
                    "char_filter": [
                        "do_char_filter_dashes"
                    ],
                    "filter": [
                        "lowercase"
                    ]
                }
            },
            "char_filter": {
                "do_char_filter_dashes": {
                    "type": "pattern_replace",
                    "pattern": "(\\d+)-(?=\\d)",
                    "replacement": "$1_"
                }
            }
        }
    },
    "mappings": {
        "images": {
            "properties": {
                "filename": {
                    "type": "text",
                    "analyzer": "DO_analyzer_ngram",
                    "search_analyzer": "DO_analyzer_search"
                }
            }
        }
    }
}

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    我是个白痴。所需的搜索分析器:

    "tokenizer": "keyword"
    

    而不是

    "type": "keyword",
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-09
      • 2020-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多