zoukankan      html  css  js  c++  java
  • Elasticsearch使用逗号分词

    因公司使用ES发现用MYSQL存放的字段中有一个带逗号的数据匹配不出来。在网站上找了好久,发现有一位同学写了一个带逗号的分析器,果然可以匹配出。做一下笔记,以备忘记。好记性不如烂笔头

    1:新建分析器

    curl -XPOST 'http://172.18.0.4:9200/demo/?pretty' -d '

    {

      "settings":

      {

        "analysis":

          {

            "analyzer":

              {

                "douhao":

                  {

                    "type":"pattern",

                    "pattern":","

                  }

              }

          }

      }

    }'

     

    2:将分析器mapping到新的字段上(旧的字段上是无法修改mapping),当然最好的办法是使用别名,可以零停机切换

    curl -XPOST 'http://172.18.0.4:9200/demo/_mapping/master?pretty' -d '

    {

      "properties":

      {

        "master_id":

        {

          "type":"string",

          "index":"not_analyzed"

        },

        "serve_regions":

        {

          "type":"string",

          "analyzer":"douhao",

          "search_analyzer":"douhao"

        }

      }

    }'

    3:同步MYSQL的数据到ES(或者手动添加两条数据)

    curl -PUT 'http://172.18.0.4:9200/demo/master/?pretty' -d '{"master_id":"123","serve_regions":"1,2,3"}'

    curl -PUT 'http://172.18.0.4:9200/demo/master/?pretty' -d '{"master_id":"321","serve_regions":"1"}'

    curl -PUT 'http://172.18.0.4:9200/demo/master/?pretty' -d '{"master_id":"231","serve_regions":"2,3"}'

     

    4:测试 http://172.18.0.4:9200/_plugin/head

     

    参考文档

      1:ES中如何使用逗号来分词

  • 相关阅读:
    zoj 3627 Treasure Hunt II (贪心)
    1028
    DB2数据库性能优化介绍
    Python之美[从菜鸟到高手]--深刻理解原类(metaclass)
    Java和C++中多态的实现方式
    汉语-词语-停留:百科
    汉语-词语-体会:百科
    汉语-词语-味道:百科
    笔记-生活-饮食:香料妙用
    汉语-词语-香料:百科
  • 原文地址:https://www.cnblogs.com/amuge/p/6906516.html
Copyright © 2011-2022 走看看