我正在尝试index.max_terms_count。我尝试执行其中包含超过65 536个术语的术语查询,但是我看到警告here:
执行带有很多术语的术语查询请求可能会非常慢,因为每个附加术语都需要额外的处理和存储空间。为了防止这种情况,直接或通过查找在术语查询中可以使用的最大术语数已限制为
65536
。可以使用索引设置index.max_terms_count
更改特定索引的默认最大值。
为了进一步测试,我尝试将index.max_terms_count设置为2或3,但仍然无法按照我期望的方式工作。您能帮我了解我在做什么(或了解)错了吗?
步骤:
使用Docker运行ES:
1.1.docker pull docker.elastic.co/elasticsearch/elasticsearch:6.6.0
1.2。 docker run -p 9200:9200 -p 9300:9300 -e“ discovery.type = single-node” docker.elastic.co/elasticsearch/elasticsearch:6.6.0
索引文件: curl -X POST http://localhost:9200/twitter/_doc/1 -H'内容类型:application / json'-d'{ “ user”:“ kimchy”, “ post_date”:“ 2009-11-15T14:12:12”, “ message”:“尝试Elasticsearch”, “标签”:[“ foo”,“ bar”,“ sun”,“ clouds”] }'
更改设置: curl -X PUT http://localhost:9200/twitter/_settings -H'内容类型:application / json'-d'{ “索引”:{ “ max_terms_count”:2 } }'
验证设置已应用:
curl -X GET http://localhost:9200/twitter/_settings
执行搜索: curl -X POST'http://localhost:9200/twitter/_search?pretty'-H'内容类型:application / json'-d'{ “查询”:{ “ terms”:{“ tags”:[“ sun”,“ cloudy”,“ yo”,“ hi”,“ hello”]} } }'