[toc]
curl -XGET 'http://uplooking01:9200/bank/_search?q=*&pretty'
curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
{
"query":{
"match_all":{}
}
}'
-------------------------------------------------------
在上面基礎至少,只要2條結果:
curl -XGET 'http://uplooking01:9200/bank/_search?q=*&pretty&from=0&size=2'
curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
{
"query":{
"match_all":{}
},
from: 0,
size: 2
}'
--------------------------------------------------
排序
curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
{
"query":{
"match_all":{}
},
from: 0,
size: 2,
"sort" : {"balance": {"order": "desc"}}
}'
--------------------------------------------------
執行返回的字段
curl -XGET 'http://uplooking01:9200/bank/_search?_source=age,balance&pretty&from=0&size=2'
post操作如何獲取呢?
curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
{
"query":{
"match_all":{}
},
from: 0,
size: 2,
"sort" : {"balance": {"order": "desc"}},
"_source": ["balance", "age"]
}'
----------------------------------------------------------
match:具體匹配操作
curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
{
"query":{
"match":{"age": 20}
},
"from": 0,
"size": 2,
"sort" : {"balance": {"order": "desc"}},
"_source": ["balance", "age"]
}'
----------------------------------------------------------
bool
curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
{
"query":{
"bool":{
"should" :[
{"match": {"age": 20}},
{"match": {"gender": "F"}}
]
}
},
"from": 0,
"size": 2,
"sort" : {"balance": {"order": "desc"}},
"_source": ["balance", "age"]
}'
{
"query":{
"bool":{
"should" : {"match": {"age": 20}},
"should" : {"match": {"gender": "F"}}
}
},
"sort" : {"age": {"order": "asc"}},
"_source": ["balance", "age", "gender"]
}
以上兩種方式都可以
--------------------------------------------------------------------------
過濾查詢
curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
'{
"query": {
"filtered": {
"query": {"match_all": {}},
"filter": {
"range":{
"balance": {
"gte":20000,
"lte":30000
}
}
}
}
}
}'
查詢收入在20000到30000之間的數據
維護索引庫默認配置,當然經常用來修改默認配置。
例如:分片數量,副本數量
查看:curl -XGET http://localhost:9200/bigdata/_settings?pretty
操作不存在的索引:
curl -XPUT 'localhost:9200/bigdata/'
-d'{"settings":{"number_of_shards":3,"number_of_replicas":2}}'
操作已存在的索引:
curl -XPUT 'localhost:9200/bigdata/_settings'
-d'{"index":{"number_of_replicas":2}}'
就是對索引庫中索引的字段名稱及其數據類型進行定義,類似于關系數據庫中表
建立時要定義字段名及其數據類型那樣,(和solr中的schme類似)不過es的
mapping比數據庫靈活很多,它可以動態添加字段。一般不需要要指定mapping都
可以,因為es會自動根據數據格式定義它的類型,如果你需要對某些字段添加特
殊屬性(如:定義使用其它分詞器、是否分詞、是否存儲等),就必須手動添加mapping
查詢索引庫的mapping信息
curl -XGET http://localhost:9200/bigdata/dep/_mapping?pretty
mappings修改字段相關屬性,見備注
例如:字段類型,使用哪種分詞工具
mappings
注意:下面可以使用indexAnalyzer定義分詞器,也可以使用index_analyzer定義分詞器
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。