【全文搜索引擎】Elasticsearch基本查询基础JavaAPI
生活随笔
收集整理的這篇文章主要介紹了
【全文搜索引擎】Elasticsearch基本查询基础JavaAPI
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
操作索引
ElasticSearch存儲數(shù)據(jù)的地方,可以理解成關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)庫概念。
- 添加索引
- 查詢索引
- 刪除索引
- 關(guān)閉索引
- 打開索引
操作映射
數(shù)據(jù)類型
簡單數(shù)據(jù)類型
- 字符串
- text:會分詞,不支持聚合
- keyword:不會分詞,將全部內(nèi)容作為一個詞條,支持聚合
- 數(shù)值
- 布爾
- boolean
- 二進(jìn)制
- binary
- 范圍類型
- integer_range, float_range, long_range, double_range, date_range
- 日期
- date
復(fù)雜數(shù)據(jù)類型
- 數(shù)組:[ ]
- 對象:{ }
操作映射
PUT /索引庫名稱/_mapping/類型名稱 {"properties": {"字段名": {"type": 類型,可以是text、keyword、long、short、date、integer、object等"index": 是否索引,默認(rèn)為true"store": 是否存儲,默認(rèn)為false"analyzer": 分詞器}} } PUT person {"mappings": {"properties": {"name":{"type" : "keyword"},"age":{"type" : "integer"},"address":{"type" : "text","analyzer": "ik_max_word"}}} }name: 字段【域】操作文檔
增加文檔,ID存在,則更新,不存在,則增加
#添加文檔,指定ID PUT person/_doc/1 {"name":"張三","age":20,"address":"北京市海淀區(qū)" } #添加文檔,不指定ID POST person/_doc {"name":"張三","age":20,"address":"北京市海淀區(qū)" }ID會自動生成刪除文檔
#刪除指定ID的文檔 DELETE person/_doc/1查詢文檔
#查詢指定ID的文檔 GET person/_doc/1#查詢?nèi)课臋n GET person/_search#完整語法 GET person/_search {"query": {"match_all": {}} }基本查詢
詞條查詢:term
詞條查詢是Elasticsearch中的一個簡單查詢。它僅匹配在給定字段中含有該詞條的文檔,而
且是確切的、未經(jīng)分析的詞條。最簡單的詞條查詢?nèi)缦滤?#xff1a;
上述查詢將匹配title字段中含有crime一詞的文檔。記住,詞條查詢是未經(jīng)分析的,因此需要提供跟索引文檔中的詞條完全匹配的詞條。請注意,在輸入數(shù)據(jù)中,title字段含有Crime and
Punishment,但我們使用小寫開頭的crime來搜索。因為Crime一詞在建立索引時已經(jīng)變成了crime。
match_all 查詢
match_all查詢是Elasticsearch中最簡單的查詢之一。它使我們能夠匹配索引中的所有文件。
{ "query" : { "match_all" : {} } }JavaAPI
1、SpringBoot整合ES 2、操作ES的核心客戶端RestHighLevelClient 3、操作索引核心對象 IndicesClient- 創(chuàng)建索引,也可以同時指定映射create(CreateIndexRequest, RequestOptions.DEFAULT)//指定映射CreateIndexRequest.mapping(映射規(guī)則,數(shù)據(jù)格式【一般為json】);- 查詢索引get(GetIndexRequest, RequestOptions.DEFAULT);- 判斷索引是否存在exists(GetIndexRequest, RequestOptions.DEFAULT);- 刪除索引get(DeleteIndexRequest, RequestOptions.DEFAULT); 4、操作文檔核心對象 IndexRequest- 創(chuàng)建文檔以map為數(shù)據(jù)new IndexRequest("索引名").id("文檔ID").source(數(shù)據(jù));以對象的json為數(shù)據(jù)new IndexRequest("索引名").id("文檔ID").source(數(shù)據(jù),數(shù)據(jù)格式【json】);使用RestHighLevelClient的index方法創(chuàng)建- 查詢文檔使用RestHighLevelClient的get方法查詢- 更新文檔增加文檔方法,ID相同,即為更新- 刪除文檔使用RestHighLevelClient的delete方法刪除總結(jié)
以上是生活随笔為你收集整理的【全文搜索引擎】Elasticsearch基本查询基础JavaAPI的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【全文搜索引擎】Elasticsearc
- 下一篇: 【Spring框架家族】SpringBo