參考關係型資料庫
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 => tinyintshort => 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....