gpt4 book ai didi

elasticsearch - 在指定映射字符过滤器时使用正则表达式

转载 作者:行者123 更新时间:2023-12-03 01:45:59 24 4
gpt4 key购买 nike

ElasticSearch支持mapping char filter,其中一个可以指定一个键及其对应的值。我想在键中使用正则表达式。

我正在尝试的正则表达式基本上是捕获所有以I结尾的大写符号,并将它们转换为以l结尾的字符串。所以看起来像

ABCI => ABCl
I之前的字符串不固定,因此我正在编写正则表达式。

我已经找出表达式的左手部分为 [A-Z]+I,但是我无法决定应该在右手边写什么,以便我也可以捕获字符串 ABC

我的问题是我们可以在映射char过滤器中使用正则表达式吗?如果是,那么我该如何写相关的正则表达式(尤其是右侧部分)。

最佳答案

使用Pattern Replace Char Filter:

{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "standard",
"char_filter": [
"my_char_filter"
]
}
},
"char_filter": {
"my_char_filter": {
"type": "pattern_replace",
"pattern": "([A-Z]+)(I)$", ==> Patterm containg uppaer case characters ending with I
"replacement": "$11" => Replacing Group 1 with '1'
}
}
}
}
}

希望这可以帮助!!

关于elasticsearch - 在指定映射字符过滤器时使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43918543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com