请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

对于无序的英文编号如何进行分词呢

对于商品的编码如何进行分词 如8JO 99 99Y UDS 应该如何分词和检索呢

正在回答

2回答

如果你要解决空格的问题,可以用下面这种自定义分词的方法


GET _analyze

{

  "char_filter": [

    {

      "type": "pattern_replace",

      "pattern": "\\s",

      "replacement": ""

    }

  ],

  "tokenizer": {

    "type": "ngram",

    "min_gram": 3,

    "max_gram":11

  },

  "text": "8JO 99 99Y UDS"

}


0 回复 有任何疑惑可以回复我~
  • 提问者 颐和园的昆 #1
    好的老师 我目前是在java程序中去除的空格,然后按照ngram 3+3的方式进行分词。查询的时候用的simple_query_string 在程序中根据长度/3 拼加号 如8JO+99 99Y+UDS 然后问题解决了 谢谢老师
    回复 有任何疑惑可以回复我~ 2018-07-10 17:19:38
rockybean 2018-07-10 14:51:39

如何分词要看你的需求?

业务需求要求如何搜索呢?

0 回复 有任何疑惑可以回复我~
  • 提问者 颐和园的昆 #1
    就是输入任意至少三个连续字符 可以匹配到该编码  我目前用的是 ngram的分词方法 设置min_gram=3 ,max_gram=4 但是查询的时候比较迷茫 =。=
    回复 有任何疑惑可以回复我~ 2018-07-10 15:10:51
  • rockybean 回复 提问者 颐和园的昆 #2
    按照这个需求,你的分词方法是没有问题的,你的迷茫点是什么?
    回复 有任何疑惑可以回复我~ 2018-07-10 15:29:01
  • 提问者 颐和园的昆 回复 rockybean #3
    就是在完整输入一个编码的时候查不到,,,我去调整minimum_should_match 也不行,,,, 很神奇
    回复 有任何疑惑可以回复我~ 2018-07-10 15:33:43
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信