es同时支持中文拼音分词(9)

ⅰ亾dé卋堺 提交于 2020-01-12 00:07:03

ES如何支持拼音和中文分词 

1. 自定义分词器 支持拼音和中文分词

 

DELETE  /goods

PUT /goods

{

   "settings": {

        "analysis": {

            "analyzer": {

                "ik_smart_pinyin": {

                    "type": "custom",

                    "tokenizer": "ik_smart",

                    "filter": ["my_pinyin", "word_delimiter"]

                },

                "ik_max_word_pinyin": {

                    "type": "custom",

                    "tokenizer": "ik_max_word",

                    "filter": ["my_pinyin", "word_delimiter"]

                }

            },

            "filter": {

                "my_pinyin": {

                    "type" : "pinyin",

                    "keep_separate_first_letter" : true,

                    "keep_full_pinyin" : true,

                    "keep_original" : true,

                    "limit_first_letter_length" : 16,

                    "lowercase" : true,

                    "remove_duplicated_term" : true

                }

            }

        }

  }

  

}

 

 

重新指定文档类型映射拼音分词类型

POST /goods/_mapping/goods

{

   

  

      "goods": {

        "properties": {

          "@timestamp": {

            "type": "date"

          },

          "@version": {

            "type": "text",

            "fields": {

              "keyword": {

                "type": "keyword",

                "ignore_above": 256

              }

            }

          },

          "attribute_list": {

            "type": "text",

            "fields": {

              "keyword": {

                "type": "keyword",

                "ignore_above": 256

              }

            }

          },

          "category_id": {

            "type": "long"

          },

          "created_time": {

            "type": "date"

          },

          "detail": {

            "type": "text",

             "analyzer":"ik_smart_pinyin",

            "search_analyzer":"ik_smart_pinyin"

 

          },

          "id": {

            "type": "long"

          },

          "main_image": {

            "type": "text",

            "fields": {

              "keyword": {

                "type": "keyword",

                "ignore_above": 256

              }

            }

          },

          "name": {

            "type": "text",

            "analyzer":"ik_smart_pinyin",

            "search_analyzer":"ik_smart_pinyin"

 

          },

          "revision": {

            "type": "long"

          },

          "status": {

            "type": "long"

          },

          "sub_images": {

            "type": "text",

            "fields": {

              "keyword": {

                "type": "keyword",

                "ignore_above": 256

              }

            }

          },

          "subtitle": {

            "type": "text",

          "analyzer":"ik_smart",

         "search_analyzer":"ik_smart"

 

          },

          "updated_time": {

            "type": "date"

          }

        }

      }

}

 =================效果演示==========================

1、拼音搜索

 2、中文搜索

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!