在某些查询语言中,您有时会创建看起来像这样的奇怪结构:
SELECT * FROM USERS WHERE 1=1
(1=1
部分(
这不是关于是否以及何时应该这样做的问题,但可能有多种原因,例如可配置的 UI 或类似的东西。
我的问题是,Lucene 查询语法是否提供类似的东西。我尝试在 Elasticsearch 中的查询字符串查询中执行以下操作:
1:1
true:true
它不会返回任何内容,在这种情况下,我希望它找到所有内容。
有什么想法吗?
一个非常简单的选项是使用match_all
,但查询结果集也有限制max_result_window在索引级别定义(默认值为 10K(: https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html
因此,它可能不会返回所有可能的结果。
GET /_search
{
"query": {
"match_all": {}
}
}