掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
shard
PUT /nba/_doc/1
{
"name": "哈登",
"team_name": "?箭",
"position": "得分后衛(wèi)",
"play_year": "10",
"jerse_no": "13"
}
GET /nba/_search_shards?routing=1
"nodes":{
"V1JO7QXLSX-yeVI82WkgtA":{
"name":"node-1",
"ephemeral_id":"_d96PgOSTnKo6nrJVqIYpw",
"transport_address":"192.168.1.101:9300",
"attributes":{
"ml.machine_memory":"8589934592",
"xpack.installed":"true",
"ml.max_open_jobs":"20"
}
},
"z65Hwe_RR_efA4yj3n8sHQ":{
"name":"node-3",
"ephemeral_id":"MOE_Ne7ZRyaKRHFSWJZWpA",
"transport_address":"192.168.1.101:9500",
"attributes":{
"ml.machine_memory":"8589934592",
"ml.max_open_jobs":"20",
"xpack.installed":"true"
}
}
},
"indices":{
"nba":{
}
},
"shards":[
[
{
"state":"STARTED",
"primary":true,
"node":"V1JO7QXLSX-yeVI82WkgtA",
"relocating_node":null,
"shard":2,
"index":"nba",
"allocation_id":{
"id":"leX_k6McShyMoM1eNQJXOA"
}
},
{
"state":"STARTED",
"primary":false,
"node":"z65Hwe_RR_efA4yj3n8sHQ",
"relocating_node":null,
"shard":2,
"index":"nba",
"allocation_id":{
"id":"6sUSANMuSGKLgcIpBa4yYg"
}
}
]
]
}顧名思義,就是很悲觀,每次去拿數(shù)據(jù)的時候都認為別?會修改,所以每次在拿數(shù)據(jù)的時候都會上鎖,這樣別?想拿這個數(shù)據(jù)就會阻塞,直到它拿到鎖。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫?邊就?到了很多這種鎖機制,?如?鎖,表鎖等,讀鎖,寫鎖等,都是在做操作之前先上鎖。

創(chuàng)新互聯(lián)專注于婁星企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,成都商城網(wǎng)站開發(fā)。婁星網(wǎng)站建設(shè)公司,為婁星等地區(qū)提供建站服務(wù)。全流程按需規(guī)劃網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
顧名思義,就是很樂觀,每次去拿數(shù)據(jù)的時候都認為別?不會修改,所以不會上鎖,但是在更新的時候會判斷?下在此期間別?有沒有去更新這個數(shù)據(jù),?如可以使?版本號等機制。樂觀鎖適?于多讀的應(yīng)?類型,這樣可以提?吞吐量,因為我們elasticsearch?般業(yè)務(wù)場景都是寫少讀多,所以通過樂觀鎖可以在控制并發(fā)的情況下?能有效的提?系統(tǒng)吞吐量。
GET /nba/_doc/1
{
"_index" : "nba",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"_seq_no" : 4,
"_primary_term" : 7,
"found" : true,
"_source" : {
"name" : "哈登",
"team_name" : "?箭",
"position" : "得分后衛(wèi)",
"play_year" : "10",
"jerse_no" : "13"
}
}POST /nba/_doc/1?versinotallow=2&version_type=external
{
"name": "哈登",
"team_name": "?箭",
"position": "得分后衛(wèi)",
"play_year": "10",
"jerse_no": "13"
}
PUT test/_doc/1
{
"msg":"喬丹是籃球之神"
}
POST /test/_search
{
"query": {
"match": {
"msg": "喬丹"
}
}
}
PUT test/_mapping
{
"properties": {
"msg_chinese":{
"type":"text",
"analyzer": "ik_max_word"
}
}
}
POST test/_doc/1
{
"msg":"喬丹是籃球之神",
"msg_chinese":"喬丹是籃球之神"
}
POST /test/_search
{
"query": {
"match": {
"msg_chinese": "喬"
}
}
}
POST /test/_search
{
"query": {
"match": {
"msg": "喬"
}
}
}
為什么同樣是輸?'喬',為什么msg能匹配出?檔,?msg_chinese不能呢?
POST test/_analyze
{
"field": "msg",
"text": "喬丹是籃球之神"
}
喬,丹,是,籃,球,之,神
POST test/_analyze
{
"field": "msg_chinese",
"text": "喬丹是籃球之神"
}
喬丹, 是, 籃球, 之神
POST test/_search
{
"query": {
"match": {
"msg_chinese": {
"query": "喬丹",
"analyzer": "standard"
}
}
}
}
char filter : 字符過濾器
tokenizer : 分詞器
token filter :token過濾器
字符過濾器以字符流的形式接收原始?本,并可以通過添加、刪除或更改字符來轉(zhuǎn)換該流。?個分析器可能有0個或多個字符過濾器。
?個分詞器接收?個字符流,并將其拆分成單個token (通常是單個單詞),并輸出?個token流。?如使?whitespace分詞器當遇到空格的時候會將?本拆分成token。"eating anapple" >> [eating, and, apple]。?個分析器必須只能有?個分詞器
POST _analyze
{
"text": "eating an apple",
"analyzer": "whitespace"
}
token過濾器接收token流,并且可能會添加、刪除或更改tokens。?如?個lowercase token fifilter可以將所有的token轉(zhuǎn)成?寫。?個分析器可能有0個或多個token過濾器,它們按順序應(yīng)?。
standard分析器
Stanard tokenizer
Standard Token Filter
Lower Case Token Filter

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流