如何在ElasticSearch中忽略撇号

时间:2017-04-26 14:18:33

标签: elasticsearch

如何在文档和查询中忽略撇号?

e.g。

文件:

{
  name: "Ch`iroki the Big Dud"
}

查询:

name match "Ch`irki"

虽然仍然在结果中使用原始文本并使用其他语言分析器。

我尝试添加replace_pattern char_filter但它没有用。

修改

这是索引设置:

{
    "settings": {
        "analysis": {
            "char_filter": {
                "replace_apostrophe": {
                    "type": "pattern_replace",
                    "pattern": "'",
                    "replacement": ""
                }
            }
        }
    }
}

这是_analyze请求:

{
    "char_filters": ["replace_apostrophe"],
    "text": "a'b'c"
}

这是_analyze回复:

{
    "char_filters": ["replace_apostrophe"],
    "text": "a'b'c"
}

我哪里错了?

1 个答案:

答案 0 :(得分:0)

char_filter应该有效,请参阅https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-mapping-charfilter.html

您是否尝试分析API以检查输入字符串是如何标记化的?