Elasticsearch keyword 中的 ignore_above配置项

这篇具有很好参考价值的文章主要介绍了Elasticsearch keyword 中的 ignore_above配置项。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. ignore_above

关于es mapping的keyword ignore_above配置项的解释如下:

Do not index any string longer than this value. Defaults to 2147483647 so that all values would be accepted.

不会索引大于ignore_above配置值的数据,默认值2147483647字符。注意:动态mappings中自动为256。

Strings longer than the ignore_above setting will not be indexed or stored. For arrays of strings, ignore_above will be applied for each array element separately and string elements longer than ignore_above will not be indexed or stored

大于ignore_above设置的字符串将不会被索引或存储。

注意:

All strings/array elements will still be present in the _source field, if the latter is enabled which is the default in Elasticsearch.

默认所有的字符串/数组元素仍然会出现在_source字段中。

2.测试

创建索引 test_keyword,指定长度超过10的数据不索引

PUT test_keyword
{
  "mappings": {
    "properties": {
      "name":{
        "type":"keyword",
        "ignore_above": 10
      }
    }
  }
}

向索引中写入数据:

PUT test_keyword/_doc/1
{
  "name":"1234567890"
}

PUT test_keyword/_doc/2
{
  "name":"12345678901"
}

查询数据,结果如下:

#可以查询到数据结果
GET test_keyword/_search
{
  "query":{
    "term": {
      "name": "1234567890"
    }
  }
}


#查询不到数据结果
GET test_keyword/_search
{
  "query":{
    "term": {
      "name": "12345678901"
    }
  }
}

在查询所有数据_source中可以看到“12345678901”这条数据,说明“12345678901”这条数据没有被索引。文章来源地址https://www.toymoban.com/news/detail-722510.html

GET test_keyword/_search


{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 2,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "test_keyword",
        "_type" : "_doc",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "name" : "1234567890"
        }
      },
      {
        "_index" : "test_keyword",
        "_type" : "_doc",
        "_id" : "2",
        "_score" : 1.0,
        "_ignored" : [
          "name"
        ],
        "_source" : {
          "name" : "12345678901"
        }
      }
    ]
  }
}

到了这里,关于Elasticsearch keyword 中的 ignore_above配置项的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch:keyword类型和text类型的区别

    1.支持分词,全文检索,支持模糊查询,支持精确查询,不支持聚合,排序操作; 2.最大支持的字符长度无限制,适合大字段存储; 3.将字段进行分词处理,然后再存入到es中; 使用场景:     1.存储全文搜索数据,例如:文章内容、地址、代码块;     2.默认结合standard ana

    2024年02月10日
    浏览(52)
  • Elasticsearch:Text vs. Keyword - 它们之间的差异以及它们的行为方式

    很多刚开始学习 Elasticsearch 的人经常会混淆 text 和 keyword 字段数据类型。 它们之间的区别很简单,但非常关键。 在本文中,我将讨论两者之间的区别、如何使用它们、它们的行为方式以及使用哪一种。 它们之间的关键区别在于,Elasticsearch 会在将 text 存储到倒排索引之前对

    2024年02月03日
    浏览(80)
  • Elasticsearch:ignore_malformed,映射异常的解药

    我们知道在文档摄入到 Elasticsearch 时,如果文档的字段在 mapping 中已经有定义,而当前的文档的字段的类型和之前的类型是不一样的情况下,那么我们该如何处理呢?通常由如下的几种方法: 使用 coerce 属性。在这种情况下,即便不同类型的数据被写入到相应的字段,在能

    2024年02月06日
    浏览(31)
  • spring-data-elasticsearch使用Sort排序时Please use a keyword field instead. ……异常解决

    核心提示在 Please use a keyword field instead. Alternatively, set fielddata=true on [dataTimestamp] in order to load field data by uninverting the inverted index. 待排序字段 dataTimestamp 没有为排序优化,所以无法排序,需要配置 FieldType.Keyword 或 fielddata = true ,可是代码中都配置了为什么还提示呢,往下看……

    2023年04月24日
    浏览(41)
  • Spring Boot中的Elasticsearch自动配置

    Elasticsearch是一个基于Lucene的分布式全文搜索引擎,它在搜索、分析等方面具有出色的表现。Spring Boot中的Elasticsearch自动配置为我们提供了一种快速集成Elasticsearch的方式,使我们可以在Spring Boot应用程序中轻松地使用Elasticsearch。 本文将介绍Spring Boot中的Elasticsearch自动配置的作

    2024年02月12日
    浏览(39)
  • Spring Boot 中的 Elasticsearch 的数据操作配置

    Elasticsearch是一个基于Lucene的搜索引擎,可以快速地存储、搜索和分析大量的数据。Spring Boot是一个开发框架,提供了快速构建基于Spring的应用程序的工具和技术。在本文中,我们将讨论如何在Spring Boot应用程序中配置Elasticsearch数据操作。 Elasticsearch是一个开源的全文搜索和分

    2024年02月05日
    浏览(42)
  • elasticsearch在window下启动报错warning:ignoring JAVA_HOME=“XXXXX“; using bundled JDK

    JDK版本不对。 elasticsearch支持JDK1.8的,仅仅是7.17.3及其之前的版本。如果下的最新版本,最低JDK得17及其以上。 win7建议下载7.6.1的版本,7.17.3需要win8和最低node.js 12.0.0版本 7.17.3版本下载地址 Elasticsearch 7.17.3 | Elastic

    2024年02月11日
    浏览(38)
  • Spring Boot中的Elasticsearch自动配置:原理与使用

    在Spring Boot中,Elasticsearch是非常流行的搜索引擎。为了方便开发人员使用Elasticsearch,Spring Boot提供了Elasticsearch自动配置功能。本文将介绍Elasticsearch自动配置的原理与使用。 Elasticsearch自动配置是Spring Boot对Elasticsearch进行封装的一种方式,它主要是通过将Elasticsearch相关的配置

    2024年02月12日
    浏览(51)
  • elasticsearch在window下启动报错warning: ignoring JAVA_HOME=C:\document\jdk1.8.0_152; using bundled JDK

    elasticsearch在window下启动报错warning: ignoring JAVA_HOME=C:documentjdk1.8.0_152; using bundled JDK **原因:**JDK版本不对。 elasticsearch支持JDK1.8的,仅仅是7.17.3及其之前的版本。如果下载的最新版本,最低 JDK17 及其以上。 **方法:**下载7.17.3的就可以了,亲测有效。 [elasticsearch 7.17.3](

    2024年02月15日
    浏览(57)
  • Elasticsearch启动报错:warning: ignoring JAVA_HOME=C:\Program Files\Java\jdk1.8.0_191; using bundled JDK

    windows本地启动【elasticsearch-8.3.2】版本时,启动失败,并且在控制台出现失败提示: warning: ignoring JAVA_HOME=C:Program FilesJavajdk1.8.0_191; using bundled JDK 然后出现下列异常,最后控制台直接闪退。 原因:本地JDK版本与Elasticesearch版本不兼容。 案例:我本地是JDK1.8版本,安装的是e

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包