之前提過 如何使用 elasticsearch url query string search ,大部分的 elasticsearch的 api都支援 multi-index, multi-type 使用在 api 的 endpoints 上。
request body search
elasticsearch 可以透過 request 傳入 query DSL (domain specific language)來執行 search。$ curl -XGET 'http://localhost:9200/twitter/tweet/_search' -d '{ "query" : { "term" : { "user" : "pc" } } } 'response
{ "_shards":{ "total" : 5, "successful" : 5, "failed" : 0 }, "hits":{ "total" : 1, "hits" : [ { "_index" : "twitter", "_type" : "tweet", "_id" : "1", "_source" : { "user" : "pc", "postDate" : "2013-11-15T14:12:12", "message" : "hello world ~ Elasticsearch" } } ] } }
query
在傳入request 時,可以在body 帶入 query DSL。
{ "query" : { "term" : { "user" : "pc" } } }
這裡有兩種基本的 query "term" ,"prefix"。
也可以組成 bool 的query,也可以使用 filter 去篩選資料。
a
沒有留言:
張貼留言