elasticsearch之mappings parameters
目录
ignore_above#top
长度超过ignore_above设置的字符串将不会被索引或存储(个人认为会存储,但不会为该字段建立索引,也就是该字段不能被检索)。 对于字符串数组,ignore_above将分别应用于每个数组元素,并且不会索引或存储比ignore_above更长的字符串元素。
PUT w1
{
"mappings": {
"doc":{
"properties":{
"t1":{
"type":"keyword",
"ignore_above": 5
},
"t2":{
"type":"keyword",
"ignore_above": 10 ①
}
}
}
}
}
PUT w1/doc/1
{
"t1":"elk", ②
"t2":"elasticsearch" ③
}
GET w1/doc/_search ④
{
"query":{
"term": {
"t1": "elk"
}
}
}
GET w1/doc/_search ⑤
{
"query": {
"term": {
"t2": "elasticsearch"
}
}
}
①,该字段将忽略任何超过10个字符的字符串。
②,此文档已成功建立索引,也就是说能被查询,并且有结果返回。
③,该字段将不会建立索引,也就是说,以该字段作为查询条件,将不会有结果返回。
④,有结果返回。
⑤,则将不会有结果返回,因为t2字段对应的值长度超过了ignove_above设置的值。
该参数对于防止Lucene的术语字节长度限制也很有用,限制长度是32766。
注意,该ignore_above设置可以利用现有的领域进行更新PUT地图API。
对于值ignore_above是字符数,但Lucene的字节数为单位。如果您使用带有许多非ASCII字符的UTF-8文本,您可能需要设置限制,32766 / 4 = 8191因为UTF-8字符最多可占用4个字节。
如果我们观察上述示例中,我们可以看到在设置映射类型时,字段的类型是keyword,也就是说ignore_above参数仅针对于keyword类型有用。
那么如果字符串的类型是text时能用ignore_above吗,答案是能,但要特殊设置:
PUT w2
{
"mappings": {
"doc":{
"properties":{
"t1":{
"type":"keyword",
"ignore_above":5
},
"t2":{
"type":"text",
"fields":{
"keyword":{
"type":"keyword",
"ignore_above": 10
}
}
}
}
}
}
}
PUT w2/doc/1
{
"t1":"beautiful",
"t2":"beautiful girl"
}
GET w2/doc/_search ①
{
"query": {
"term": {
"t1": {
"value": "beautiful"
}
}
}
}
GET w2/doc/_search ②
{
"query": {
"term": {
"t2": "beautiful"
}
}
}
①,不会有返回结果。
②,有返回结果,因为该字段的类型是text。
但是,当字段类型设置为text之后,ignore_above参数的限制就失效了。
欢迎斧正,that's all see also:[官网7.0:ignore_above](https://www.elastic.co/guide/en/elasticsearch/reference/7.0/ignore-above.html) | [ignore_above](https://www.elastic.co/guide/en/elasticsearch/reference/7.0/ignore-above.html)
elasticsearch之mappings parameters的更多相关文章
- Elasticsearch【mappings】类型配置操作
在介绍ES的更新操作的时候,说过,ES的索引创建是很简单的,没有必要多说,这里是有个前提的,简单是建立在ES默认的配置基础之上的. 比如,当ES安装完毕后,我们就可以通过curl命令完成index,t ...
- Laravel 之搜索引擎elasticsearch扩展Scout
简介 Laravel Scout 是针对Eloquent 模型开发的一个简单的,基于驱动的全文检索系统.Scout 使用模型观察者时会自动保持你的检索索引与你的 Eloquent 记录同步. 目前,S ...
- Elastic Search的学习
那些必须要知道的事儿 自然语言处理 自然语言处理之中文分词器 什么是Apache Lucene 什么是elasticsearch 搭建elasticsearch环境 Windows下 Java环境配置 ...
- ElasticSearch 7.4.2 Root mapping definition has unsupported parameters
新建索引 PUT people { "settings":{ "number_of_shards":3, "number_of_replicas&qu ...
- Add mappings to an Elasticsearch index in realtime
Changing mapping on existing index is not an easy task. You may find the reason and possible solutio ...
- Elasticsearch之settings和mappings的意义
Elasticsearch之settings和mappings(图文详解) Elasticsearch之settings和mappings的意义 简单的说,就是 settings是修改分片和副本数 ...
- Elasticsearch之settings和mappings(图文详解)
Elasticsearch之settings和mappings的意义 简单的说,就是 settings是修改分片和副本数的. mappings是修改字段和类型的. 记住,可以用url方式来操作它们,也 ...
- 如何建立ElasticSearch里的mappings?
刚接触elasticsearch,好多东西都不会用,百度了很多,都看不懂,终于摸索出了最简单的通过http建立mappings的方法~ 有人在建立mappings报各种错误,首先,如果你的这个索引中已 ...
- Elasticsearch之重要核心概念(cluster(集群)、shards(分配)、replicas(索引副本)、recovery(据恢复或叫数据重新分布)、gateway(es索引的持久化存储方式)、discovery.zen(es的自动发现节点机制机制)、Transport(内部节点或集群与客户端的交互方式)、settings(修改索引库默认配置)和mappings)
Elasticsearch之重要核心概念如下: 1.cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.es的一个概念就是 ...
随机推荐
- Consistency Regularization for GANs
目录 概 主要内容 Zhang H., Zhang Z., Odena A. and Lee H. CONSISTENCY REGULARIZATION FOR GENERATIVE ADVERSAR ...
- Deep Linear Networks with Arbitrary Loss: All Local Minima Are Global
目录 问题 假设和重要结果 证明 注 Laurent T, Von Brecht J H. Deep linear networks with arbitrary loss: All local mi ...
- 01 Java基础
Java基础 01 Hello 随便新建一个文件夹,存放代码 新建一个Java文件 文件后缀名为.java Hello.java [注意点]系统可能没有显示文件后缀名,我们需要手动打开 编写代码 p ...
- 【MySQL作业】DDL 和 DML——美和易思使用 DDL 定义数据库表结构应用习题
点击打开所使用到的数据库>>> 1.使用 DDL 创建 easyShopping2 数据库. create database easyShopping2 2.使用 DDL 更改 ea ...
- Log4j2完整XML参考(详细注释说明)
1.说明 本文提供完整的log4j2.xml配置文件, 供开发中参考使用,可以作为模板, 配置对应实现如下常用的功能: 1.自动检测和重新加载配置,每10分钟(600s)检测一次 2.每个日志文件最大 ...
- Linux无法登陆,var目录权限修改导致SSH失败
1.问题说明 Linux远程服务器突然无法SSH登录了, 登陆报错: ssh_exchange_identification: read: Connection reset by peer. 2.问题 ...
- 【白话科普】10s 从零看懂 H5
最近大家有没有发现,很多微信公众号的动态内容变多了?我们常常可以看到,公众号内容中有很多动态图片甚至动画,还可以通过手指滑动切换页面,或者有一些小的点击互动. 这种看起来有点高级的小作品,其实是都是& ...
- 初识python 之 爬虫:BeautifulSoup 的 find、find_all、select 方法
from bs4 import BeautifulSoup lxml 以lxml形式解析html,例:BeautifulSoup(html,'lxml') # 注:html5lib 容错率最高fin ...
- mysql数据库忘记root密码怎么办?
mysql数据库忘记root密码怎么破解和修改 1.停止数据库的运行 [root@localhost ~]# /etc/init.d/mysqld stop 或者[root@localhost ~]# ...
- Swagger的应用
一.介绍 一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 框架. 二.依赖 <dependency> <groupId>io.springf ...