0
Ich habe einige Daten im Elasticsearch-Modul gespeichert und die Struktur ist sehr einfach.Wie schreibe elasticsearch mehrere Abfrage Bedingung?
[
{
"country_id":1,
"city_id":12,
"city_name":"Kolkata"
},
{
"country_id":1,
"city_id":55,
"city_name":"Delhi"
},
{
"country_id":2,
"city_id":18,
"city_name":"Las Vegas"
},
{
"country_id":3,
"city_id":22,
"city_name":"Sydney"
}
]
Ich brauche eine Suchanfrage wie
"Select * from table_name where country_id = 1 and city_name like %k%"
Wenn jemand es mir bitte helfen, die genaue Elasticsearch Abfrage für die obige SQL-Abfrage, um herauszufinden.
Ich habe mit dieser Abfrage versucht, aber es produziert Fehler.
curl -XGET "http://xxx.xxx.xxx.x:9200/xxxx/location_details/_search?size=10" -d '{"query":{"bool":{"must":{"term":{"country_id":"101"}}},{"match_phrase":{"city_name":"a"}}}}'
Dank @val aber ich bin immer Fehler für diese Abfrage: 'curl -XGET„http://xxx.xxx .xxx.x: 9200/location/location_details/_search? Größe = 5000 "-d" {"query": {"bool": {"muss": [{"term": {"country_id": "101"} }, {"query_string": {"query": {"city_name": "* s *"}}}}}}} ' –
Was ist damit? – Val
Fehler Generieren: '{" Fehler ": {" root_cause ": [{" type ":" query_parsing_exception "," Grund ":" [query_string] Abfrage unterstützt nicht [city_name] "," index ":" xx " , "line": 1, "col": 83}], "type": "search_phase_execution_exception", "reason": "alle Shards fehlgeschlagen", "phase": "query", "grouped": true, "failed_shards" : [{"shard": 0, "index": "rudra", "node": "4e1L2eHtQ5SCPhDeHw-IGg", "Grund": {"type": "query_parsing_exception", "Grund": "[query_string] query tut dies nicht unterstützen [city_name] "," index ":" rudra "," line ": 1," col ": 83}}}}," status ": 400}' –