Easticsearch

  1. 索引管理 新建索引: PUT blog
    索引不能出現大寫。 elasticsearch默認給一個索引設置5個分片1個副本,一個索引的分片數一旦指定不能修改,副本數能夠經過命令setting 參數在索引設置初始化的時候建立: 例如:設置bolg索引 3個 分片 0個副本 PUT bolg { 「settings」:{ 「number_of_shards」 :3, "number_of_replicas" :0 } }java

    更新副本: PUT blog/_settings { "number_of_replicas" : 2 } 設置索引的讀寫權限: blocks.read_only:true 設置當前索引只容許讀不容許寫或者更新。 blocks.read:true 禁止對當前索引進行讀操做。 blocks.write:true 禁止對當前索引進行寫操做。python

查看索引: GET blog/_settings 查看多個索引信息 GET blog1,blog2/_settings 查看全部的索引信息 GET _all/_settings編程

刪除索引 DELETE blogapp

打開和關閉索引 POST blog/_close POST blog/_openelasticsearch

  1. 文檔管理 新建文檔: PUT blog/article/1{ "id" :1, "title":"GIT 簡介", 「content」 :「GIT 是一款免費的、開源的分佈式版本控制系統」 }

若是不指定會自動生成id 可是必須使用POST POST blog/article { "id":1, "title" :"GIT 簡介", 「content」:「GIT是一款免費的、開源的分佈式版本控制系統」 }分佈式

獲取文檔: GET blog/article/1 根據id獲取多個文檔 GET blog/article/_mget{ "ids" : ["1","2"] }版本控制

更新文檔blog

POST test/type1/1/_update {}索引

刪除文檔ip

DELETE blog/article/1

建立索引

PUT books { "mappings": { "job": { "properties": { "companyName": { "type": "text", "analyzer": "ik_max_word", "fields": { "suggest" : { "type" : "completion", "analyzer": "ik_max_word" } } }, "jobTitle": { "type": "text", "analyzer": "ik_max_word", "fields": { "suggest" : { "type" : "completion", "analyzer": "ik_max_word" } } }, "companyLogo": { "type": "keyword" }, "companyId": { "type": "long" }, "address": { "type": "keyword" }, "degree": { "type": "integer" }, "minSalary": { "type": "integer" }, "maxSalary": { "type": "integer" }, "jobNature": { "type": "integer" }, "status": { "type": "integer" }, "source": { "type": "keyword" }, "modifyStamp": { "type": "long" }, "workLife": { "type": "integer" }, "industryId": { "type": "integer" }, "companyType": { "type": "integer" }, "peopleNum": { "type": "integer" } , "payType": { "type": "integer" }, "jobCategory": { "type": "integer" }, "cityNumber": { "type": "integer" }, "cityName": { "type": "keyword" }, "welfare": { "type": "text", "analyzer": "ik_max_word" }, "describe": { "type": "text", "analyzer": "ik_max_word" } } } } }

  1. 搜索詳解 查詢所有: GET books/_search { 「query」:{ "match_all" :{ } } } match_all 文檔的得分都是1 能夠簡寫 GET books/_search term 查詢用來查找指定字段中包含給定單詞的文檔

_source 要顯示的字段 version 顯示文檔編號 min_score 最低評分

GET books/_search { 「min_score」:0.6, 「_source」 : ["title","author"], "version":true, 「query」:{ 「from」:0, 「size」:100, 「term」 :{「title」:「思想」} }, "highlight": { "fields": { "jobTitle": {} } } }

**term query **是詞項查詢(條件是什麼,就是什麼,再也不分詞) ,例如 「java編程」 若某個title 是「java編程思想」 分詞後是 「java」,「編程」,「思想」 ,則查詢不到

match query 會對查詢語句進行分詞,分詞後查詢語句中的任何一個詞項被匹配,文檔就會被搜索到,若想要查詢匹配全部的關鍵詞的文檔,能夠用and操做符鏈接。 GET books/_search { "query":{ "match" :{ "title" :{ "query":"java編程思想", 「operator」 : 「and 」 } } } } match_phrase query 首先會把query內容分詞,分詞器能夠自定義,同時文檔還要知足如下兩個條件。 一、分詞後全部詞項都要出如今該字段中。 二、字段中的詞項順序要一致。 GET test/_search { "query":{ "match_phrase":{"foo":"hello word"} } } match_phrase_prefix 和 match_phrase 相似,只不過支持最後一個term前綴匹配。

GET test/_search { "query":{ "match_phrase_prefix":{"foo":"hello w"} } }

multi_match query 是match的升級,用於搜索多個字段。支持通配符。查詢語句「java編程」,查詢域爲title和description 查詢語句以下, 同時能夠指定搜索字段的權重,指定關鍵詞出如今title中的權重是出如今description的3倍。 : GET books/_search{ "query":{ "multi_match":{ "query" : "java 編程", 「fields」:[「title^3」,「description」,「*_name」] } } }

**terms query **是term查詢的升級,能夠用來查詢文檔中包含多個詞的文檔。好比想查詢title字段中包含關鍵詞「java」或者「python」的文檔,構造查詢語句

GET books/_search { "query":{ "terms":{ "title":["java","python"] } } }

range query 匹配在某一範圍內的數值型。 GET books/_search { "query":{ "range":{ "price":{ "gt":50, "lte":70 } } } }

exists query 查詢會返回字段中至少有一個非空值的文檔。 {「query」:{ "exists":{ "field":"user" } }} 查詢user字段不爲 null 、[]、

prefix query 前綴查詢 { 「query」:{ 「prefix」:{ 「description」 :「win」 } } }

wildcard query通配符查詢 GET books/_search { 「query」:{ 「wildcard」:{ 「title」 :「藍瘦*菇」 } } }

** bool query **能夠把任何多的簡單查詢組合在一塊兒,使用must、should、must_not、filter must 必須匹配至關於AND should 至關於OR must_not 與 must相反、匹配該先想下的查詢條件不會返回。 filter 和 must 同樣,匹配filter選項下的查詢條件下 才能返回,可是filter不評分,不包含虛擬機的書籍,構造bool查詢語句以下: GET books/_search{ 「query」:{ 「bool」:{ 「minimum_should_match」 :1, "must":{ "match" : {"title":"java"} }, "should":{ "match":{"description":"虛擬機 "} } } } }

相關文章
相關標籤/搜索