zoukankan      html  css  js  c++  java
  • ElasticSearch story(二)

    调优一个问题,碰到了一个坎:大家看一下下面两个字符串:

    2018-10-16 18:01:34.000 abcdewfrwfe

    2018-10-16 18:01:50.123 testAmily012

    我在使用term进行查询的时候:

    {
      term:{
        message:abcdewfrwfe
      }
    }

    是可以检索到数据的,但是:

    {
      term:{
        message:testAmily012
      }
    }

    却返回数据数据为0.

    百思不得其解啊。通过index/_mapping,没看出来什么特别的;后来想到要看看到底es是怎样来分词的,于是查了一下,发现没有API查看现有的索引分词情况,但是有一个“分析器,可以通过这个分析器来模拟一下真是的分词情况,我顿时眼前一亮:

    GET index/_analyze
    {
      "analyzer": "standard",
      "text": "Text to analyze"
    }

    发现了什么?
    变成了小写,是的变成了小写,所以我原样来进行查询是不可以的,我记起来之前确实看过一篇文章介绍,分词后将会变成小写,这样在处理查询的时候需要将查询内容处理为小写。

    这个问题只是在term中有这个问题,如果是query-string则不需要。

  • 相关阅读:
    python学习笔记(2)
    数据分析工具pandas
    python学习笔记(1)
    python学习笔记(3)
    python学习笔记(2):科学计算及数据可视化入门
    python学习笔记(1):python基础
    js setTimeout 和 setInterval 区别
    C#根据URL生成签名
    jquery.validate.js客户端验证
    redis学习(一)
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/9801043.html
Copyright © 2011-2022 走看看