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

Posted 宝哥大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES 问题 拼音 en ou等词被拆分,导致搜不到未解决相关的知识,希望对你有一定的参考价值。

设置拼音分词器

"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被拆分导致查不到结果

以上是关于ES 问题 拼音 en ou等词被拆分,导致搜不到未解决的主要内容,如果未能解决你的问题,请参考以下文章

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

Elasticsearch-高级搜索(拼音|首字母|简繁|二级搜索)

elasticsearch 拼音搜索

在 C# 中将字符串拆分为字符串数组列表

ES IK拼音插件踩坑及填坑记录

怎么启动ui aotomator viewer