Elasticsearch 學習筆記

2021-08-21 06:22:57 字數 3133 閱讀 3470

參考

關係型資料庫

elasticsearch

資料庫database索引index,支援全文檢索

table型別type

資料行row文件document,但不需要固定結構,不同文件可以具有不同字段集合

資料列column字段field

模式schema

}}索引字段型別numeric datatypes型別

範圍long

-2^63 ~ 2^63-1

integer

-2^31 ~ 2^31-1

short

-32768 ~ 32767

byte

-128 ~ 127

double

雙精度 64-bit ieee 754 浮點數

float

單精度 32-bit ieee 754 浮點數

byte => tinyint

short => smallint

int => integer

keyword不分詞, 需要分詞用text

# 本地遷移 (備份)

post /_reindex

, "dest":

}# 遠端遷移 (備份)

post /_reindex

, "index": "my_index",

"size": 1000,

"query": {}

},"dest":

}引數解釋

source:

深入搜尋 (官方):

檢索分類深入詳解:

must – 所有的語句都 必須(must)匹配,與 and 等價

must_not – 所有的語句都 不能(must not)匹配, 與 not 等價

should – 至少有乙個語句要匹配, 與 or 等價

filter – 必須匹配, 執行在非評分&過濾模式

建立 put

修改 post

刪除 delete

獲取 get

}例子:

get /my_index/my_type/_search}}

},"from": 0,

"size": 10,

"_source": ["title", "publish_date", "publisher"],

"sort": [},}

]}

# filter 過濾查詢不會計算相關度(直接跳過了整個評分階段), 而且很容易被快取, 所以速度快一些

get /my_index/my_type/_search

},"filter": }}

}}# 使用 constant_score 查詢以非評分模式來執行 term 查詢並以一作為統一評分

get /my_index/my_type/_search}}

}}

1. 全文檢索

# 全文檢索 匹配多個字段 (title 和 test 字段)

get /my_index/my_type/_search}}

# 全文檢索 匹配分詞 (匹配123或aaa)

get /my_index/my_type/_search}}

# 全文檢索 匹配短語 (匹配123 aaa 或 123 bbb aaa))

get /my_index/my_type/_search

}} }

}

# 全文檢索 語法查詢 (匹配 (123和aaa)或bbb )

get /my_index/my_type/_search}}

# 全文檢索 全文搜尋

get /my_index/my_type/_search}}

2. 結構化檢索

# 結構化檢索 精確查詢 (匹配title等於123aaa)

get /my_index/my_type/_search

}} }}}

# 結構化檢索 萬用字元查詢

*, 它匹配任何字串行(包括空字串行)

?, 它匹配任何單個字元

get /my_index/my_type/_search}}

# 結構化檢索 型別查詢 (type為text的全部資訊)

get /my_index/my_type/_search}}

# 結構化檢索 ids查詢 (返回指定id的全部資訊)

get /my_index/my_type/_search}}

# 結構化檢索 正則搜尋

get /my_index/my_type/_search}}

elasticsearch學習入門

由於es更新很快,本文這類快餐式的記錄僅供參考 es的官網有比較全面的api,但我看過以後感覺api的層次還是有點亂,至少沒有mongodb的文件那麼簡單易讀。從簡單的應用開始慢慢認識es的。比如要搭建個中文新聞資訊的搜尋引擎,新聞有 標題 內容 作者 型別 發布時間 這五個字段 我們要提供 標題和...

elasticsearch 入門學習

原文 1 思考 大規模資料如何檢索 當系統資料量上了10億 100億條的時候,我們在做系統架構的時候通常會從以下角度去考慮問題 2 傳統資料庫的應對解決方案 對於關係型資料,我們通常採用以下或類似架構去解決查詢瓶頸和寫瓶頸 3 非關係型資料庫的解決方案 對於nosql資料庫,以mongdb為例,其它...

ElasticSearch使用學習

elasticsearch是乙個基於lucene的搜尋服務,它通過倒排索引的方法提供了全文搜尋的能力。1 插入資料 elasticsearch中存放資料的為文件,有索引及型別名,如下插入兩文件 2 檢索文件 1 檢索id為1的文件 curl x get elasticsearch.in.netwa....