【问题标题】:custom token filter for elasticsearch用于弹性搜索的自定义令牌过滤器
【发布时间】:2020-07-16 13:24:01
【问题描述】:

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

这似乎映射到: 步骤 1 - shingle - 相邻的单词用空格连接在一起 第 2 步 - 如果令牌匹配模式 /pat1/,则保留 ... 如果令牌匹配 /pata patb/,则替换空格 第 3 步 - 删除其他所有内容。

有没有办法做到这一点?我见过https://stackoverflow.com/questions/35742426/how-to-filter-tokens-based-on-a-regex-in-elasticsearch,但不想将复杂模式转换为具有前瞻功能的模式。

【问题讨论】:

  • 如果你也能添加一些样本就好了

标签: elasticsearch tokenize


【解决方案1】:

这个想法是从用户输入中提取出潜在的订单号。 假设数据已标准化,因此订单号可以是常规 isbn 978 或类似“ME4713P”的内容。用户可能会输入“ME 4713P”或 978- 订单号可以描述为“包含字母和数字,可选破折号”或“包含字母,破折号,更多字母”或“包含数字,破折号,更多数字” 顺便说一句:很抱歉这次使用不同的电子邮件...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多