跳转到内容
彼岸论坛
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[Elasticsearch] 大量短记录字段的模糊查询如何实现? es 的分词器如何实现多语种记录的转换和分词呢?


小天管理

已推荐帖子

针对按月分片每月近 1ooow 的记录,其中有一个字段是 姓名 (中文居多,存在一部分繁日英,长度在[2, 50]左右,大部分都是 3 个字符)

现在业务侧要求尽量实现:

  • 1 、针对原纪录的全模糊查询,即只要输入的字符串是某个姓名的子序列,就将其捞出来; 例如,对于输入的 "张 aた" 是要匹配到 "张三 abきたない",因为不涉及到原字符的转换,这里直接使用了 1gram+match_phrase_prefix 来实现了

  • 2 、(目前遇到的问题) ,现在想要针对中简繁、日文、汉语等汉字系支持对应拼音、罗马音的模糊搜索, 例如,对于输入的 "张 san a ki t" 是要能够 匹配到 "张三 abきたない" 的; 即实际上要做到分词结果是 "张三 abきたない: 张 三 z h a n g s a n a b き た な い k i t a n a i" 的实现(当然这个我不是很确定是否是唯一解,只是认为如果能够达到这样的分词结果那就能满足我现在的搜索要求了)

我的问题是,如何实现这样的分词器呢?

  • 如果使用 pinyin+1gram 分词器(即不考虑日语等),好像分词结果是 " 张 三 zhang san a b き た な い" ,而我输入的字符串因为无法确定是否中英文,所以默认是打散的,"张 san a ki t" 分词结果是 "张 s a n a k i t" ,从而无法匹配到
  • 如果使用 icu_transform 等,貌似没法保留原字符串(或者这种场景下的自定义分词器该如何实现呢)

先感谢 dalao 们回复

意见的链接
分享到其他网站

加入讨论

您现在可以发表并稍后注册. 如果您是会员,请现在登录来参与讨论.

游客
回复主题...

×   粘贴为富文本.   粘贴为纯文本来代替

  只允许使用75个表情符号.

×   您的链接已自动嵌入.   显示为链接来代替

×   您之前的内容已恢复.   清除编辑器

×   您无法直接粘贴图片.要从网址上传或插入图片.

  • 游客注册

    游客注册

  • 会员

    没有会员可显示

  • 最新的状态更新

    没有最新的状态更新
  • 最近查看

    • 没有会员查看此页面.
×
×
  • 创建新的...