我试图在弹性搜索中表达这个Solr(Lucene)查询,但我不确定如何:
q=field1:"value1"^10 OR field2:("value2a"^20 OR "value2b"^30)
group=true
group.field=fieldGroup
有没有办法简单地将Lucene查询传递给ES,所以我不需要先翻译它?
答案 0 :(得分:3)
使用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