【发布时间】:2018-06-29 17:06:02
【问题描述】:
从上周开始,我开始使用 AWS 上的 Elastic Search Service。我当前的 Elasticseach 版本是 6.X.X 和 Kibana 6.X.X,现在我对在 Kibana 客户端上运行的查询格式有点灵活。但我的问题是我无法将查询转换为将在 Browser URL/Postman 上运行的 URI 格式。例如:如何将其转换为 URI 搜索格式?。
GET my_index/_search
{
"query": {
"geo_bounding_box": {
"location": {
"top_left": {
"lat": 42,
"lon": -72
},
"bottom_right": {
"lat": 40,
"lon": -74
}
}
}
}
}
我在这里看到了有关 URI 搜索格式的文档,其中包含不同的 params,例如 q、df 等:https://www.elastic.co/guide/en/elasticsearch/reference/6.0/search-uri-request.html 但不能将上述查询字符串转换为 URI 搜索格式。实际上,我对 SOLR 查询格式非常灵活,支持 q、fq、sort、start、rows、boost、facet、group 等。所以,据我所知,Elastic search 也使用了 Lucene Indexing 所以我的基本问题是
1.如何将上述 ES 查询字符串转换为 URI 搜索格式?
2.如何轻松将 SOLR 查询转换为 ES 格式?
如果您帮我将上述查询字符串转换为 URI 搜索 格式,那么将我现有的复杂 SOLR 查询转换为 ES 查询将对我有很大帮助。
注意:我可以使用 ?q= 参数转换基本的 CRUD 操作,但很难像 facet 一样隐藏其他操作、boosting、分组等。
编辑:实际上我想说这个查询参数返回的文档数量相同。都来自 solr 和 es - 这里我只是将 _source 用于 ES,因为我们将 fl 用于 SOLR。否则一切都一样
https://my_host/rental_properties/_search?_source=id,code:feed_provider_id,feed_provider_id,feed,property_name,pax:occupancy,bedroom_count,min_stay,star_rating,night_rate_min,currency&q=feed:11 AND -booked_date:[2018-02-23T00:00:00Z TO 2018-02-26T00:00:00Z] AND min_stay:[* TO 3] AND occupancy:[3 TO *] AND -latlon :0.001,0.001
从 Val 的回答中,我了解到 1 我可以轻松地使用相同的查询字符串进行 URI 搜索。 2。但是我怎样才能轻松地将我的 SOLR 查询转换为 ES 格式呢?
【问题讨论】:
标签: amazon-web-services elasticsearch solr lucene kibana-5