当前位置: 首页 > 知识库问答 >
问题:

弹性搜索ignore_above设置使用

侯英达
2023-03-14

如果弹性文档中提到长度超过上面的ignore_设置的字符串将不会被索引或存储,请任何人帮助解释关于上述ignore的疑问。对于字符串数组,上面的ignore_将分别应用于每个数组元素,长度大于上面的ignore_的字符串元素将不会被索引或存储。

这是否意味着,如果我添加的数据长于长度,那么它将不允许在ES中发布数据

https://www.elastic.co/guide/en/elasticsearch/reference/current/ignore-above.html#ignore-在上面

这是我试过的

我的索引测试数据(即我创建的索引)映射如下

使用PUT映射api,我添加了以下映射

{
"testdata": {
    "mappings": {
        "testdata": {
            "properties": {
                "email": {
                    "type": "text",
                    "fields": {
                        "keyword": {
                            "type": "keyword",
                            "ignore_above": 256
                        }
                    }
                }
            }
        }
    }
}
}

我添加了长度约为150kb的数据(长度约为145149),它允许在电子邮件字段中添加数据,我还可以使用搜索后endpoint搜索数据,如果它允许这样做,或者我的概念是错误的。

共有2个答案

郏经纬
2023-03-14

我今天解决了我的问题,我不能通过xx.keyword.获得agg术语值我的值长度是315。

如果字符串长度超过忽略值以上,则为xx。关键字不适用于搜索。但该值可以保存,您可以按其他字段搜索文档。

郏景澄
2023-03-14

您的设置ignore_over:256表示如果字符串长度大于256个字符,则文档将被索引,但该字段将不会被索引。如果字符串长度为

根据您的映射,上面的忽略设置将应用于电子邮件。关键字字段。

 类似资料:
  • 我在启动弹性搜索时有以下错误。弹性搜索是通过Ansibles进行的:

  • 我使用Elasticsearch允许用户输入要搜索的术语。例如,我要搜索以下属性'name': 如果使用以下代码搜索或,我希望返回此文档。 我尝试过做一个bool must和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。

  • 我如何从弹性搜索中获得所有的结果,因为结果只显示限制只有10个。我得到了一个查询,如下所示:

  • 当我执行ps-aef grep elasticsearch HeapDumpOnOutOfMemoryError时看到了这一点 501 373 47 1 0 2:29pm ttys004 0:04.14/usr/bin/Java-xms4g-xmx4g-xss256k-djava.awt.headless=true-xx:+useparnewgc-xx:+useparnewgc-xx:+usepa

  • 我从ElasticSearch得到以下错误。 我在Ubuntu上运行Elasticsearch 1.7.2。 我做错了什么?

  • 我试图使用弹性搜索Java API创建两个文档,一个构建另一个的子文档。