09.span query 查询
生活随笔
收集整理的這篇文章主要介紹了
09.span query 查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 簡介
- 2. 樣例
- 1. span_term query
- 2. span_near query
- 3. span_not query
- 4. span_or query
- 5. span_first query
- 6. span_within query
- 7. span_containing query
- 8. field_masking_span query
- 9. span_multi query
1. 簡介
這里介紹的是es對lucene的spanQuery的一些使用接口,主要有下面的幾種查詢
2. 樣例
原始數據
GET multi_test/_search返回 {"hits" : {"total" : {"value" : 6,"relation" : "eq"},"max_score" : 1.0,"hits" : [{"_source" : {"shingle" : "If the calculations based on the specification determine that","title" : "If the calculations based on the specification determine that","age" : 80,"status" : true}},{"_source" : {"shingle" : "my favorite food hot water","title" : "my favorite food hot water","age" : 23,"status" : true}},{"_source" : {"shingle" : "that no optional clauses are needed, the usual rules about BooleanQueries ","title" : "that no optional clauses are needed, the usual rules about BooleanQueries ","age" : 39,"status" : false}},{"_source" : {"shingle" : "rules about BooleanQueries still apply at search ","title" : "rules about BooleanQueries still apply at search ","age" : 42,"status" : false}},{"_source" : {"shingle" : "If the calculations based","title" : " suggester requires special mapping up ","age" : 38,"status" : false}},{"_source" : {"shingle" : "my favorite food is pisa","title" : "the my favorite that is pisa","age" : 35,"status" : false}}]} }1. span_term query
GET multi_test/_search {"query": {"span_term": {"title": {"value": "that"}}} }2. span_near query
GET multi_test/_search {"query": {"span_near": {"clauses": [{"span_term": {"title": {"value": "up"}}},{"span_term": {"title": {"value": "suggester"}}}],"slop": 3,"in_order": false}} }3. span_not query
GET multi_test/_search {"query": {"span_not": {"include": {"span_term": {"title": {"value": "favorite"}}},"exclude": {"span_near": {"clauses": [{"span_term": {"title": {"value": "my"}}},{"span_term": {"title": {"value": "favorite"}}}],"slop": 0,"in_order": false}}}} }我在測試的時候,如果exclude當中使用span term的話那么會出現exclude失效的情況,具體原因不太清楚
4. span_or query
GET multi_test/_search {"query": {"span_or": {"clauses": [{"span_term": {"title": {"value": "food"}}},{"span_term": {"title": {"value": "favorite"}}}]}} }5. span_first query
GET multi_test/_search {"query": {"span_first": {"match": {"span_term": {"title": "hot"}},"end": 4}} }返回"_source" : {"shingle" : "my favorite food hot water","title" : "my favorite food hot water","age" : 23,"status" : true}6. span_within query
GET multi_test/_search {"query": {"span_within": {"little": {"span_term": {"title": {"value": "special"}}},"big": {"span_near": {"clauses": [{"span_term": {"title": {"value": "suggester"}}},{"span_term": {"title": {"value": "mapping"}}}],"slop": 5,"in_order": false}}}} }返回 "_source" : {"shingle" : "If the calculations based","title" : " suggester requires special mapping up ","age" : 38,"status" : false}這里的litte中的term special在源文檔中必須在big查詢的兩個term suggester, mapping中間才行,否則查不出來
7. span_containing query
GET multi_test/_search {"query": {"span_containing": {"little": {"span_term": {"title": {"value": "special"}}},"big": {"span_near": {"clauses": [{"span_term": {"title": {"value": "suggesterzh"}}},{"span_term": {"title": {"value": "mapping"}}}],"slop": 5,"in_order": false}}}} }要求同span within 查詢
8. field_masking_span query
這個沒有用明白。。。
GET multi_test02/_search {"query": {"span_near": {"clauses": [{"span_term": {"title": "requires"}},{"field_masking_span": {"query": {"span_term": {"shingle": "based"}},"field": "title"}}],"slop": 1,"in_order": false}} }9. span_multi query
GET multi_test/_search {"query": {"span_multi": {"match": {"prefix": {"title": {"value": "sug"}}}}} }返回"_source" : {"shingle" : "If the calculations based","title" : " suggester requires special mapping up ","age" : 38,"status" : false}總結
以上是生活随笔為你收集整理的09.span query 查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 03.elasticsearch pip
- 下一篇: 10.term level 查询