您当前的位置: 首页 > 

宝哥大数据

暂无认证

  • 0浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ES 问题 拼音 en ou等词被拆分,导致搜不到

宝哥大数据 发布时间:2022-08-25 14:34:26 ,浏览量:0

设置拼音分词器

"analysis" : {
          "analyzer" : {
            "pinyin_analyzer" : {
              "tokenizer" : "my_pinyin"
            }
          },
          "tokenizer" : {
            "my_pinyin" : {
              "ignore_pinyin_offset" : "false",
              "lowercase" : "true",
              "keep_original" : "false",
              "remove_duplicated_term" : "true",
              "keep_first_letter" : "false",
              "keep_separate_first_letter" : "false",
              "type" : "pinyin",
              "limit_first_letter_length" : "16",
              "keep_full_pinyin" : "true"
            }
          }
        },

使用enshi无法搜索恩施

GET test/_search
{
  "query": {
    "match_phrase": {
      "cityName.pinyin": "enshi"
    }
  }
}
无结果

enshi 分词

GET test/_analyze
{
  "analyzer": "pinyin_analyzer",
  "text": ["enshi"]
}
结果 en 被拆分
{
  "tokens" : [
    {
      "token" : "e",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "n",
      "start_offset" : 1,
      "end_offset" : 2,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "shi",
      "start_offset" : 2,
      "end_offset" : 5,
      "type" : "word",
      "position" : 2
    }
  ]
}

恩施 分词

GET test/_analyze
{
  "analyzer": "pinyin_analyzer",
  "text": ["恩施"]
}

{
  "tokens" : [
    {
      "token" : "en",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "shi",
      "start_offset" : 1,
      "end_offset" : 2,
      "type" : "word",
      "position" : 1
    }
  ]
}

由于 en,ou被拆分导致查不到结果 在这里插入图片描述 在这里插入图片描述

解决方案

https://elasticsearch.cn/question/12879

调一下词典就行,pinyin_alphabet.dict 这个文件,把你缺的拼音加上 在 elasticsearch-analysis-pinyin-7.9.3.jar 这个包内的

关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.0369s