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中如何使用逗号来分词

  • 相关阅读:
    SQL查询SP代码
    MS SQL Server:查询死锁进程(转载)
    批编译、重新编译和计划缓存
    sql like获取以逗号分割的字段内的数据
    SQL Server 2005—数据库管理10个最重要的特点(转载)
    SQL2005数据库镜像配置脚本
    转:SQL 语句优化
    转:SQL SERVER什么时候写日志
    MDX查询几个经典示例
    尾日志备份和时间点还原
  • 原文地址:https://www.cnblogs.com/amuge/p/6906516.html
Copyright © 2011-2022 走看看