国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

西藏建設(shè)廳網(wǎng)站首頁(yè)seo科技網(wǎng)

西藏建設(shè)廳網(wǎng)站首頁(yè),seo科技網(wǎng),大漢網(wǎng)站開發(fā),wordpress 評(píng)分功能ElasticSearch入門到實(shí)戰(zhàn)教程:點(diǎn)擊查看 1. 對(duì)象類型(object) 一個(gè)字段下需要多種類型的屬性字段,屬性 attr 有身高、體重,添加映射語句如下: POST indexname/_mapping {"properties": {"…

ElasticSearch入門到實(shí)戰(zhàn)教程:點(diǎn)擊查看

1. 對(duì)象類型(object)

一個(gè)字段下需要多種類型的屬性字段,屬性 attr 有身高、體重,添加映射語句如下:

POST indexname/_mapping
{"properties": {"attr": {"properties": {"height": {"type": "double"},"weight": {"type": "double"}}}}
}

對(duì)象類型新增數(shù)據(jù)語法

PUT indexname/_doc/1
{"attr": {"height": 176.3,"weight": 64}
}

篩選查詢新增的數(shù)據(jù)

GET indexname/_search
{"query":{"term":{"attr.weight": "64"}}
}

2. 數(shù)組類型

ELasticsearch沒有專用的數(shù)組類型,默認(rèn)情況下任何字段都可以包含一個(gè)或者多個(gè)值,但是一個(gè)數(shù)組中的值要是同一種類型。

  • 字符數(shù)組: [ “one”, “two” ]
  • 整型數(shù)組:[1,3]
  • 對(duì)象數(shù)組:[ { “name”: “長(zhǎng)度”, “value”: “10” }, { “name”: “內(nèi)存”, “value”: “16” }]

keyword數(shù)組,創(chuàng)建keyword字段

POST indexname/_mapping
{"properties": {"skills": {"type": "keyword"}}
}

新增數(shù)據(jù)

PUT indexname/_doc/2
{"skills": ["java", "c++"]
}

對(duì)象數(shù)組,創(chuàng)建對(duì)象字段

POST indexname/_mapping
{"properties": {"attrs": {"properties": {"name": {"type": "keyword"},"value": {"type": "keyword"}}}}
}

新增數(shù)據(jù)

PUT indexname/_doc/3
{"attrs": [{"name": "長(zhǎng)度","value": "10"},{"name": "內(nèi)存","value": "16"}]
}

3. 嵌套文檔(nested)

nested嵌套類型是object中的一個(gè)特例,可以讓對(duì)象數(shù)組類型獨(dú)立索引和查詢。

項(xiàng)目場(chǎng)景中彌補(bǔ)對(duì)象數(shù)組的一些查詢問題

接著前面創(chuàng)建的對(duì)象數(shù)組 attrs 先添加幾條數(shù)據(jù)

POST _bulk
{"create":{"_index":"indexname","_id":20}}
{"attrs":[{"name":"長(zhǎng)度","value":"64"},{"name":"內(nèi)存","value":"32"}]}
{"create":{"_index":"indexname","_id":21}}
{"attrs":[{"name":"長(zhǎng)度","value":"64"},{"name":"內(nèi)存","value":"64"}]}
{"create":{"_index":"indexname","_id":22}}
{"attrs":[{"name":"長(zhǎng)度","value":"64"}]}

現(xiàn)在業(yè)務(wù)需求:需要 屬性=長(zhǎng)度 且 值=32 的數(shù)據(jù)(目前數(shù)據(jù)里沒有),我們來寫查詢語法。

GET indexname/_search
{"query": {"bool": {"must": [{"term": {"attrs.name": "長(zhǎng)度"}},{"term": {"attrs.value": "32"}}]}}
}

運(yùn)行后發(fā)現(xiàn)居然有數(shù)據(jù),為什么呢?我們后面原理篇會(huì)講。

怎么解決這種問題呢?使用 nested 類型即可解決。

添加映射字段

POST indexname/_mapping
{"properties": {"attrsNested": {"type": "nested","properties": {"name": {"type": "keyword"},"value": {"type": "keyword"}}}}
}

添加幾條數(shù)據(jù)

POST _bulk
{"create":{"_index":"indexname","_id":20}}
{"attrsNested":[{"name":"長(zhǎng)度","value":"64"},{"name":"內(nèi)存","value":"32"}]}
{"create":{"_index":"indexname","_id":21}}
{"attrsNested":[{"name":"長(zhǎng)度","value":"64"},{"name":"內(nèi)存","value":"64"}]}
{"create":{"_index":"indexname","_id":22}}
{"attrsNested":[{"name":"長(zhǎng)度","value":"64"}]}

查詢數(shù)據(jù)

GET indexname/_search
{"query": {"nested": {"path": "attrsNested","query": {"bool": {"must": [{"term": {"attrsNested.name": "長(zhǎng)度"}},{"term": {"attrsNested.value": "32"}}]}}}}
}

已經(jīng)查不到數(shù)據(jù)了,問題完美解決

4. 子字段

text類型不能用于排序、聚合。為什么呢?因?yàn)樗膶傩?fielddata 默認(rèn)是false,設(shè)置為true就可以了,但是不建議使用,會(huì)增加內(nèi)存的壓力。

添加字段映射(不建議設(shè)置true):

POST indexname/_mapping
{"properties": {"address": {"type": "text","fielddata":true}}
}

直接使用 keyword 類型可以進(jìn)行排序、聚合。

想必會(huì)有同學(xué)有疑問:

同樣是字符串類型,干脆直接都用keyword類型不就行了。

如果你不需要 分詞 那么你用keyword完全可以,如果你需要對(duì)字段值分詞,那你還是需要用text。

那么有沒有不增加壓力,而且不用兩個(gè)字段的方法呢? 當(dāng)然有,就是做子字段!

POST indexname/_mapping
{"properties": {"address": {"type": "text","fields": {"keyword": {"type": "keyword","ignore_above": 256}}}}
}

address 字段下增加了 keyword 名字的字段,類型是 keyword,設(shè)置256長(zhǎng)度

對(duì)應(yīng)查詢子字段keyword的語句

GET indexname/_search
{"query": {"term":{"address.keyword": ""}}
}

5. 地理類型

geo_point 是地理類型。移動(dòng)互聯(lián)網(wǎng)的時(shí)代,移動(dòng)設(shè)備越來越多,要根據(jù)地理位置搜索地址,可以把地址的經(jīng)緯度數(shù)據(jù)設(shè)置地理數(shù)據(jù)類型。

POST indexname/_mapping
{"properties": {"location": {"type": "geo_point"}}
}

添加一條地理位置數(shù)據(jù)

PUT indexname/_doc/6
{"location": {"lat": 41.07,"lon": 116.64}
}
  • lat(經(jīng)度)
  • lon(緯度)

根據(jù)(41.07,116.14)坐標(biāo),查詢100km內(nèi)的位置信息

GET indexname/_search
{"query": {"geo_distance": {"distance": "100km","location": {"lat": 41.07,"lon": 116.14}}}
}

根據(jù)(23.6,32.2)位置,對(duì)查詢結(jié)果進(jìn)行遠(yuǎn)近排序

GET indexname/_search
{"query": {"match_all": {}},"sort": [{"_geo_distance": {"location": "23.6,32.2","unit": "km"}}]
}

更多資料請(qǐng)看《ElasticSearch入門到實(shí)戰(zhàn)教程》:點(diǎn)擊查看

http://m.aloenet.com.cn/news/36982.html

相關(guān)文章:

  • 做視頻網(wǎng)站虛擬主機(jī)怎么選廣告聯(lián)盟接廣告
  • wordpress 采集圖片seo排名點(diǎn)擊首頁(yè)
  • 怎么用服務(wù)器搭建網(wǎng)站推廣之家app下載
  • 公司名稱注冊(cè)查詢系統(tǒng)seo營(yíng)銷工具
  • wordpress漂亮的主題網(wǎng)站seo優(yōu)化有哪些方面
  • 商丘做網(wǎng)站sqlongliqi市場(chǎng)營(yíng)銷四大基本策略
  • linux如何架設(shè)網(wǎng)站貴陽(yáng)網(wǎng)絡(luò)推廣排名
  • 微信小程序視頻網(wǎng)站開發(fā)教程靜態(tài)網(wǎng)頁(yè)制作
  • 網(wǎng)站建設(shè)圖片怎么做免費(fèi)b站網(wǎng)頁(yè)推廣
  • 網(wǎng)站做數(shù)據(jù)分析的意義北京百度推廣投訴電話
  • 做網(wǎng)站營(yíng)業(yè)執(zhí)照經(jīng)營(yíng)范圍怎么填寫免費(fèi)seo排名軟件
  • 做公司網(wǎng)站用什么系統(tǒng)上海疫情最新數(shù)據(jù)
  • 淮安市哪里可以做網(wǎng)站開魯視頻
  • wordpress頁(yè)面教程視頻小紅書搜索優(yōu)化
  • 商標(biāo) 做網(wǎng)站 是幾類站長(zhǎng)工具天美傳媒
  • 雅安交通建設(shè)集團(tuán)網(wǎng)站太原網(wǎng)絡(luò)推廣公司哪家好
  • 鄭州網(wǎng)站建設(shè)網(wǎng)站制作百度官網(wǎng)推廣平臺(tái)電話
  • 輕云服務(wù)器 多個(gè)網(wǎng)站今日頭條鄭州頭條新聞
  • 泉州網(wǎng)站制作專業(yè)產(chǎn)品怎么做市場(chǎng)推廣
  • 網(wǎng)站建設(shè)的常用詞搜收錄網(wǎng)
  • 動(dòng)態(tài)購(gòu)物網(wǎng)站開發(fā)源代碼西地那非能提高硬度嗎
  • 做網(wǎng)站能拿多少錢淘寶指數(shù)查詢工具
  • 電信服務(wù)器做網(wǎng)站網(wǎng)絡(luò)整合營(yíng)銷理論案例
  • 織夢(mèng)響應(yīng)式茶葉網(wǎng)站流感用什么藥最好
  • 網(wǎng)站access數(shù)據(jù)怎么做朝陽(yáng)seo推廣
  • 專業(yè)鄭州做網(wǎng)站的公司百度關(guān)鍵詞seo優(yōu)化
  • 網(wǎng)站域名授權(quán)怎么做什么叫seo
  • 佛山網(wǎng)站建設(shè)收費(fèi)標(biāo)準(zhǔn)seo索引擎優(yōu)化
  • 國(guó)內(nèi)哪里在搞建設(shè)長(zhǎng)沙快速排名優(yōu)化
  • 中小企業(yè)服務(wù)肇慶seo