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则不需要。

  • 相关阅读:
    ubuntu 12.04 install flash for firefox
    ubuntu 12.04 修改 grub 启动参数
    ubuntu 12.04 英文系统怎么调出 ibus输入法
    Ubuntu 12.04 临时禁用和启动面板
    git部署
    php 递归删除文件夹
    一‘php文件系统
    xml的解构与组装
    memcached的部署
    1,秒杀系统的设计
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/9801043.html
Copyright © 2011-2022 走看看