結構化不關心文檔的相關性或分數,隻是簡單的包含或排除。
1.查找準确值
(1)過濾器查找比對文檔
(2)建立位元組集[1,0,0,0]
(3)位元組集存在記憶體中,我們能跳過1和2,能提升性能。
2.組合過濾
Must、must_not、should
3.查詢多個準确值
Terms格式如:
{
"terms" : {
"price" : [20, 30]
}
}
4.包含,而不是相等
了解term是包含而不是相等。
5.範圍
Range範圍
- gt: > 大于
- lt: < 小于
- gte: >= 大于或等于
- lte: <= 小于或等于
範圍執行個體
GET /my_store/products/_search
{
"query" : {
"filtered" : {
"filter" : {
"range" : {
"price" : {
"gte" : 20,
"lt" : 40
}
}
}
}
}
}
最近一個小時的執行個體:
"range": {
"timestamp" : {
"gt" : "now-1h"
}
}
"range": {
"timestamp" : {
"gt" : "2014-01-0100:00:00",
"lt" : "2014-01-0100:00:00||+1M" <1>
}
}
6.處理null值
Exists過濾器和missing過濾器
區分一個是否有值,映射資料時,可以設定一個null_value來處理明确的null值。
7.緩存??
每個過濾器都是被獨立計算和緩存的。
8.過濾順序
過濾器的順序對性能有很大影響。
本文出處:http://blog.csdn.net/shan1369678/article/details/51455540