Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Elasticsearch:如何处理非常长的查询字符串_Python_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Python,elasticsearch" /> elasticsearch,Python,elasticsearch" />

Python Elasticsearch:如何处理非常长的查询字符串

Python Elasticsearch:如何处理非常长的查询字符串,python,elasticsearch,Python,elasticsearch,考虑以下示例: NUMBER_KEYWORDS = 3000 es = Elasticsearch("127.0.0.1",port=9200,timeout=120,index="example_index",http_auth=AUTH) query = {'query': {"bool": { "should": [{"match": {"value.keyword": v}} for v in ["keyword" for i in range(NUMBER_KEYWORDS)]]}}}

考虑以下示例:

NUMBER_KEYWORDS = 3000
es = Elasticsearch("127.0.0.1",port=9200,timeout=120,index="example_index",http_auth=AUTH)
query = {'query': {"bool": { "should": [{"match": {"value.keyword": v}} for v in ["keyword" for i in range(NUMBER_KEYWORDS)]]}}}
es.search(index="example_index", body=query, size=10000)['hits']['hits']
此操作失败,但有一个例外:

RequestError(400, 'search_phase_execution_exception', 'failed to create query: [...]
然而,如果我将
NUMBER\u关键字设置为较小的数字(比如1000),则不会失败


在Elasticsearch python接口中处理非常大的查询字符串的好方法是什么?

Lucene的布尔条件限制为1024

您必须更改index.query.bool.max_子句_计数值


但是,你真的确定你必须提出这样的要求吗?最好使用数组或文本作为示例,并在其上进行匹配

Lucene的布尔条件限制为1024

您必须更改index.query.bool.max_子句_计数值


但是,你真的确定你必须提出这样的要求吗?最好使用数组或文本作为示例,并在其上进行匹配

我愿意接受任何建议-在这种情况下使用什么样的查询更好?用一些简短的示例详细说明您的上下文。您如何存储文档?你在寻找什么样的关键词?等…文档有三个字段:
(字符串)、
(字符串)、
内容
(字符串列表)。我有一个值列表
lvalues
,我想要
value
字段与
lvalues
中的一个值匹配的每个文档,我愿意接受任何建议-在这种情况下使用哪种查询更好?用一些简短的示例详细说明您的上下文。您如何存储文档?你在寻找什么样的关键词?等…文档有三个字段:
(字符串)、
(字符串)、
内容
(字符串列表)。我有一个值列表
lvalues
,我想要
value
字段与
lvalues