1. 程式人生 > >73.ElasticSearch基於Java對員工資訊進行復雜的搜尋操作

73.ElasticSearch基於Java對員工資訊進行復雜的搜尋操作

SearchResponse response = client.prepareSearch(“index1”, “index2”)
.setTypes(“type1”, “type2”)
.setQuery(QueryBuilders.termQuery(“multi”, “test”)) // Query
.setPostFilter(QueryBuilders.rangeQuery(“age”).from(12).to(18)) // Filter
.setFrom(0).setSize(60)
.get();

需求:

(1)搜尋職位中包含technique的員工
(2)同時要求age在30到40歲之間
(3)分頁查詢,查詢第一頁

GET /company/employee/_search
{
“query”: {
“bool”: {
“must”: [
{
“match”: {
“position”: “technique”
}
}
],
“filter”: {
“range”: {
“age”: {
“gte”: 30,
“lte”: 40
}
}
}
}
},
“from”: 0,
“size”: 1
}

近實時!!!

預設是1秒以後,寫入es的資料,才能被搜尋到。很明顯剛才,寫入資料不到一秒,我門就在搜尋。