zoukankan      html  css  js  c++  java
  • es~text与keyword的选择

    elasticsearch里的string类型被分为了text和keyword类型,下面详细来介绍这两种类型的使用场景:

    text类型

    • 分词后进行索引
    • 支持fields属性,可以在fields中添加keyword子类型,以实现精确检索
    • 分词器默认standard ,对于中文来说就是按字分词
    • 不支持聚合
    • 对text类型添加了fields属性,以支持精确检索
    {
     "properties": {
       "my_field": {
          "type": "text",
          "fields":{
            "keyword":{
              "type":"keyword",
              "ignore_above":256
            }
          }
    }
    

    当需要对关键字进行分词检索,短语检索时使用text,可能是个长文本

    keyword类型

    • 支持精确检索
    • 可以实现类型关系型数据库中like模糊检索
    • 支持聚合和排序
    • 支持按字数建立索引,以便节约索引空间
    {
        "properties": {
            "type": {
                "ignore_above": 10, //大于10个字符将不进行索引,即无法检索
                "type": "keyword"
            }
        }
    }
    

    当需要对其进行精确查找时,如用户名,身份证,电子邮件,电话等可以用keyword

  • 相关阅读:
    socket套接字 struct模块
    网络编程 OSI七层协议
    内置方法 eval | exec 元类 单例
    选课系统
    iOS清理缓存 2016-04-19
    iOS 蓝牙 技术
    iOS人脸识别
    iOS 指纹识别
    极光推送的初步配置及其使用
    iOS 加急审核
  • 原文地址:https://www.cnblogs.com/lori/p/15530883.html
Copyright © 2011-2022 走看看