es 03 DSL的簡單使用

2021-09-08 14:11:00 字數 4358 閱讀 9156

curl -xget 'http://node1:9200/index/type/id' -d '' 的形式, 其中 -d 是傳參

1), 檢視健康狀況: 

get /_cat/health?v

2), 檢視節點: 

get /_cat/nodes?v

put lag

}}

分片不可以更改, 副本可以更改

put lag/_settings

get _all

獲取索引

get lag/_settings

get _all/settings

get .kibana,lagou/_settings

get _settings

get /_cat/indices?v

put customer/_doc/1?pretty

get customer/_doc/1?pretty

delete customer?pretty
get /_cat/indices?v

index/type/id 不指定id的話, 會自動生成uuid

put lag/job/1

,

"publish_date

": "

2018

"}

get lagou/job/1

或者看下面query

put /customer/_doc/1/_update?pretty

就可以將原來的name進行更改

只能更新已經存在的id, 增量修改, 沒有的字段會新增, 有的會覆蓋

post lagou/doc/1/_update?pretty

}

post customer/_doc/1/_update?pretty

delete /customer/_doc/1?pretty

可以合併多個操作, 比如index, delete, update, 也可以從乙個index匯入另乙個index

每條資料由2行構成, delete除外, 第一行為元資料行, 第二行為資料行, upsert比較特殊, 可能為upsert, doc, 或者script

元資料必須放在一行!!!!!

post /customer/_doc/_bulk?pretty

}    # 針對哪個索引完成的

# 資料行, 必須放在一行, 不能做美化

}

如果不寫index或者type, 需要在元資料中指定delte操作, 只有一行,沒有元資料行

post /customer/_doc/_bulk?pretty} }

}

單條出錯不影響, 會繼續執行剩下的

post _bulk?pretty

}

get _mget,

]}

或者同乙個index或者同乙個 type

get lagou/job1

,

]}

或者縮寫

get lagou/job1

curl -h "

" -xpost "

10.110.122.172:9200/bank/_doc/_bulk?pretty&refresh

" --data-binary "

@accounts.json

"

get /_cat/indices?v

get /bank/_search?q=*&sort=account_number:asc&pretty

只獲取部分字段

get lag/job/1?_source

from 從哪開始, size: 取多少條, sort: 排序

使用 wildcard 進行 * 萬用字元查詢

a. match_all 查詢所有

get /bank/_search

},

"from

": 10,

"size

": 10,

"sort

": [

]}

_source: 顯示取字段

get bank/_search

},

"_source

": [

"account_number

", "

age", "

address"]

}

會將 查詢進行分詞, 滿足所有分詞才會返回結果

term: 完全匹配, 不分詞

get bank/_search

},

"_source

": [

"account_number

", "

age", "

address"]

}

如果沒有指定schema是什麼型別的, 可能會查詢失敗

get /ban/_search

}}

可傳入多個詞, 只要有乙個匹配, 就可以被查詢到

get /ban/_search

}}

get /ban/_search}}

}

get /bank/_search 

},"filter": }}

}}

get bank/_search

}, }]}

}}}

get /bank/_search

}, }]}

}}

get /bank/_search

}, }]}

}}

get /bank/_search

} ],

"must_not

": [}]

}}}

get lag/testjob/_search

}, }, }]

}}}}

}

select * from test job where title = '

python'or

(title = '

es' and salary = 30)

1), 使用filtre實現 gte lte

get /bank/_search

},

"filter": }}

}}}

get /bank/_search}}

}}

fitler查詢多個值

get /bank/_search

},

"filter":

}}}

判斷字段是否存在

exists

預設 limit 10

size : 0 為了不顯示搜尋結果

get /bank/_search

}}}

相當於

select state, count(*) from bank group by state order by count(*) desc limit 10;

get /bank/_search

},"aggs": }}

}}}

from: 從..開始

to: 到..結束

size: 10

get /bank/_search

, ,]},

"aggs

": ,

"aggs": }}

}}

}}}

get lagou/_search

}"sort

": [

}]}

注意, 被排序的字段, 必須被儲存, 即  stored: true

使用DSL優雅的實現串列埠協議

kotlin fun ledonboardinstruction index byte,ledindex byte,r short,g short,b short rj25instruction 這段 的作用,是完成這樣一條藍芽串列埠協議 協議需要的是動態計算的,長度不定的byte陣列,能寫成這樣,...

C 使用FluentAPI建立自己的DSL 推薦

dsl的作用是解決領域專家與軟體開發人員之間的溝通問題。聽起來很唬人,其實不是什麼高深的東西,我們可以使用fluent api 建立自己的dsl dsl domain specified language 領域專用語言是描述特定領域問題的語言,聽起來很唬人,其實不是什麼高深的東西。看一下下面的 us...

C 使用Fluent API 建立自己的DSL

dsl domain specified language 領域專用語言是描述特定領域問題的語言,聽起來很唬人,其實不是什麼高深的東西。看一下下面的 using flunetapidemo var 張三 張三 是學生 身高 1.62m 體重 48m console.writeline 張三.bmi ...