用于Elasticsearch的自定义令牌过滤器

时间:2020-07-16 13:24:01

标签: elasticsearch tokenize

我想实现一个自定义令牌过滤器,如下所示: 如果单个单词与特定的(正则表达式)模式匹配,则接受单个单词-如果一个单词以字母结尾,而另一个以数字开头(反之亦然),则相邻的单词会串联在一起

这似乎映射到: 第1步-带状疱疹-相邻单词之间加一个空格 第2步-如果令牌与模式/ pat1 /匹配,则保留...如果令牌与/ pata patb /匹配,则替换空白 第3步-删除所有其他内容。

有没有办法实现?我见过https://stackoverflow.com/questions/35742426/how-to-filter-tokens-based-on-a-regex-in-elasticsearch,但是不想将复杂的模式转换成具有超前功能的模式。

1 个答案:

答案 0 :(得分:0)

该想法是从用户输入中排除潜在的订单号。 假定数据已标准化,因此订单号可以是常规isbn 978 <10_more_digits>或类似“ ME4713P”的东西。用户可以输入“ ME 4713P”或978- <10位数和破折号> 订单号可以描述为“包含字母和数字,可选破折号”或“包含字母,破折号,更多字母”或“包含数字,破折号,更多数字” 顺便说一句:很抱歉这次使用其他电子邮件...