ES盲点记录

Posted 热爱编程的大忽悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES盲点记录相关的知识,希望对你有一定的参考价值。

本文主要记录一些es学习过程中没有遇到过的新知识点

1.analyzer和search_analyzer

分析器主要有两种情况会被使用:

  • 第一种是插入文档时,将text类型的字段做分词然后插入倒排索引,

  • 第二种就是在查询时,先对要查询的text类型的输入做分词,再去倒排索引搜索

如果想要让 索引 和 查询 时使用不同的分词器,ElasticSearch也是能支持的,只需要在字段上加上search_analyzer参数

  • 在索引时,只会去看字段有没有定义analyzer,有定义的话就用定义的,没定义就用ES预设的

  • 在查询时,会先去看字段有没有定义search_analyzer,如果没有定义,就去看有没有analyzer,再没有定义,才会去使用ES预设的

put /test10

  "mappings":
      "properties":
         "name":
           "type":"text",
           "store":true,
           "analyzer":"standard", 
          "search_analyzer": "ik_smart"
         ,
          "add": 
           "type": "text",
            "store":true,
           "analyzer":"ik_smart",
           "search_analyzer": "ik_smart"
         
      
  

analyzer和search_analyzer


    • 针对float类型的scaling_factor属性


   "price": 
     "type": "scaled_float",
     "scaling_factor": 100
   

由于比例因子为100,如果我们输入的价格是23.45则ES中会将23.45乘以100存储在ES中。如果输入的价格是23.456,ES会将23.456乘以100再取一个接近原始值的数,得出2346。使用比例因子的好处是整型比浮点型更易压缩,节省磁盘空间。

针对float类型的scaling_factor属性


以上是关于ES盲点记录的主要内容,如果未能解决你的问题,请参考以下文章

ES盲点记录

ES6知识盲点整理

Spring Security问题记录

Spring Security问题记录

C语言盲点笔记1

工作记录springboot集成spring-data-elasticsearch访问es及问题解决