首页 > 其他分享 >ES-ik分词器----常用映射类型

ES-ik分词器----常用映射类型

时间:2023-09-15 22:33:27浏览次数:42  
标签:映射 analyzer ---- ik 分词器 100 ES

测试ik分词器:

 POST         http://localhost:9200/_analyze

  Body的JSON数据1:

{"text":"测试分词器,后面是测试内容:spring cloud实战","analyzer":"ik_max_word"}

  JSON测试数据2:

{"text":"测试分词器,后面是测试内容:spring cloud实战","analyzer":"ik_smart"}

  JSON测试数据3:

{"text":"中华人民共和国大会堂","analyzer":"ik_max_word"}

ik分词器的两种模式

  1:  ik_max_word            最细粒度拆分

  2:  ik_smart                   最粗粒度拆分

 

二、映射管理

  映射不能更新类型,只能删除映射,重新添加类型

   常用映射类型:

  (一:Text                                                                                              

    1.analyzer         指定分词器      有ik_max_word-最细粒度拆分和ik_smart-最粗粒度拆分               search_analyzer------搜索分词器  (一般粗颗粒度)

    2.index    默认为true  进行索引,只有索引才可以从索引库搜索

           设置为false则不进行索引,将表明该字段不能被查询,如果查询会报错。但是可以被store。当该文档被查出来时,在_source中也会显示出该字段。

    3.store               默认false。store参数的功能和_source有一些相似。我们的数据默认都会在_source中存在。但我们也可以将数据store起来,不过大部分时候这个功能都很鸡肋。

            不过有一个例外,当我们使用copy_to参数时,copy_to的目标字段并不会在_source中存储,此时store就派上用场了。  

            copy_to 可以看看:https://blog.csdn.net/qq_21383435/article/details/118884992

    引用:https://elasticsearch.cn/article/6159

  (二:keyword关键字字段

    一般用来精确搜索匹配,比如手机号,身份证号等

  (三:date日期

    1.format    通过format设置日期类型

    例子:     下边的设置允许date字段存储年月日时分秒、年月日及毫秒三种格式。  
{
  "properties": {
  "timestamp": {
  "type": "date",
  "format": "yyyy‐MM‐dd HH:mm:ss||yyyy‐MM‐dd"
    }
   }
}

  (四:数值类型

   

    建议:

      1、尽量选择范围小的类型,提高搜索效率       2、对于浮点数尽量用比例因子,比如一个价格字段,单位为元,我们将比例因子设置为100这在ES中会按分片存储,映射如下: 
"price": {
    "type": "scaled_float",
    "scaling_factor": 100
}
      由于比例因子为100,如果我们输入的价格是23.45则ES中会将23.45乘以100存储在ES中。如果输入的价格是23.456,ES会将23.456乘以100再取一个接近原始值的数,得出2346。使用比例因子的好处是整型比浮点型更易压缩,节省磁盘空间。 

 

标签:映射,analyzer,----,ik,分词器,100,ES
From: https://www.cnblogs.com/lksses/p/17705014.html

相关文章

  • PHP实现页面间的链接和背景图片设置
    在PHP中实现页面间的链接非常简单,你可以使用HTML的<a>标签来创建链接。下面是一个示例代码,当用户点击按钮后,将跳转到下一个页面:<!--第一个页面--><!DOCTYPEhtml><html><head><title>第一个页面</title></head><body><buttononclick="window.locati......
  • MySQL——存储引擎
    mysql表类型和存储引擎开发中需要根据需求选择存储引擎。MySQL的表类型由存储引擎决定,常用的包括MylSAM、InnoDB、Memory等。这六种又分为两类,一类是“事务安全型”(transaction-safe),比如:InnoDB;其余都属于第二类,称为”非事务安全型”(non-transaction-safe),比如mysiam和memory。......
  • 如何使用透明的div实现页面背景模糊效果
    要在页面背景上实现模糊效果,并使内容区域(<div>)保持半透明,你可以使用CSS的backdrop-filter属性。这个属性可以用于设置页面背景的滤镜效果,而不影响内部内容的模糊。下面是一个示例的代码片段,展示如何实现这个效果:<!DOCTYPEhtml><html><head><title>背景模糊效果</title>......
  • 从 getResult 原则请求创建 PHP 并行处理
    在PHP中并行处理可以采用多种方法。对于PHP8和Symfony6环境,以下是一些可能的选项:使用SymfonyProcess组件:SymfonyProcess组件提供了对进程的抽象和管理工具,可以方便地启动和管理并行进程。你可以使用该组件,将需要处理的数据拆分成多个小的任务,然后并行地执行这些任务。......
  • 关于 Web Worker
    痛点做为前端开发,最无奈的场景莫过于遇见“页面无响应”。背锅吧,不甘,不背锅吧,确实是自己负责的领域出现了问题。而WebWorker的出现,可以在一定程度上缓解前端开发的无奈。概念WebWorker是HTML5的一项功能,它允许在后台线程中运行JavaScript代码,以便在主线程中执行其他任务,同......
  • 录入键盘输入的数据
    packageshashasha;importjava.util.Scanner;publicclasssi{publicstaticvoidmain(String[]args){//抄写代码:得到一个键盘扫描器对象(东西)Scannersc=newScanner(System.in);//开始:调用sc功能,来接受用户键盘输入的数据System.out.p......
  • BZOJ 3451
    题目链接description厉害题。给定一棵树,按照题面要求求一个错误点分治的期望执行次数。(不想描述题面了qwq)solution考虑拆开计算每个点期望几层点分治后被删除。这个期望值显然就是它对答案的贡献。我们不妨以这个点为根,那么相当于要求每次删除一个未被删除的点的子树,求删完......
  • 使用原生的js实现分享功能,代码非常精简
     分享一个原生的js实现移动端分享功能,希望大家喜欢。兼容性: 实现代码:functionshare(){if(!navigator.share){alert("您当前浏览器不支持分享!");}else{navigator.share({title:'{$title}',text:'{$introduce}',url:window.location.href});}}......
  • 《看了受制了》第十七天,4道题,合计74道题
    2023年9月15日小白月赛前三题,PAT一题。这个PAT,我怕是读题都有困难啊。中文都读半天。。。。。ACWIGN1494银行排队题目理解这个题目就是模拟。纯模,数字字符串来回转。代码实现#include<iostream>#include<cstdio>#include<algorithm>#include<vector>#include<queue>us......
  • Java中HashMap的底层实现原理
     ......