12/08/2018, 18:24
Các loại query trong ElasticSeach
Tiếp theo bài viết về Cài đặt và sử dụng ElasticSearch trong Ruby On Rails ở bài viết trước của mình, thì hôm nay mình giới thiệu tiếp về các loại query trong ElasticSearch mà mình biết. 1.Bool query Loại query này cho phép kết hợp khác câu truy vấn khác nhau tùy trường hợp mà bạn muốn dùng cho ...
Tiếp theo bài viết về Cài đặt và sử dụng ElasticSearch trong Ruby On Rails ở bài viết trước của mình, thì hôm nay mình giới thiệu tiếp về các loại query trong ElasticSearch mà mình biết.
1.Bool query
Loại query này cho phép kết hợp khác câu truy vấn khác nhau tùy trường hợp mà bạn muốn dùng cho hợp lý:
- must: phải phù hợp với tất cả các điều kiện và đóng góp vào điểm số.
- filter: giống với must nhưng bỏ qua điểm số.
- should: Chỉ cần phù hợp vs một trong các điều kiện.( theo mình thấy thì loại này rất hay ).
- must_not: Người lại với must, phải không phù hợp với tất cả các điều kiện.
POST _search { "query": { "bool" : { "must" : { "term" : { "user" : "doankun" } }, "filter": { "term" : { "tag" : "dep" } }, "must_not" : { "range" : { "age" : { "gte" : 20, "lte" : 30 } } }, "should" : [ { "term" : { "tag" : "hi" } }, { "term" : { "tag" : "elasticsearch" } } ], "minimum_should_match" : 1, "boost" : 1.0 } } }
khi chạy nếu nó hiện như này trên server của elasticsearch thì đúng rồi nhé