如何将 Solr 查询转换为 Elasticsearch

How to translate a Solr query into Elasticsearch

我试图在 Elastic Search 中表达这个 Solr (Lucene) 查询,但我不确定如何:

q=field1:"value1"^10 OR field2:("value2a"^20 OR "value2b"^30)
group=true
group.field=fieldGroup

有没有办法简单地将 Lucene 查询传递给 ES,这样我就不需要先翻译它?

绝对可以使用 query_string 查询将 Lucene 查询传递到 Elasticsearch。像这样的事情应该是合理的:

GET /_search
{
  "query": {
    "query_string": {
      "query": "field1:\"value1\"^10 OR field2:(\"value2a\"^20 OR \"value2b\"^30)"
    }
  }
}

您还可以使用聚合来模拟您的字段折叠:https://www.elastic.co/guide/en/elasticsearch/guide/current/top-hits.html