搜尋引擎ElasticSearch18_ElasticSearch的客戶端操作2

花溪月影發表於2024-05-23

實際開發中,主要有三種方式可以作為elasticsearch服務的客戶端:

  • 第一種,elasticsearch-head外掛
  • 第二種,使用elasticsearch提供的Restful介面直接訪問第三種,使用elasticsearch提供的API進行訪問

一、安裝Postman工具

 Postman中文版是postman這款強大網頁除錯工具的windows客戶端,提供功能強大的Web API & HTTP 請求調 試。軟體功能非常強大,介面簡潔明晰、操作方便快捷,設計得很人性化。Postman中文版能夠傳送任何型別的 HTTP 請求 (GET, HEAD, POST, PUT..),且可以附帶任何數量的引數。

二、下載Postman工具

 Postman官網:https://www.getpostman.com 課程資料中已經提供了安裝包

三、註冊Postman工具

 

  

四、使用Postman工具進行Restful介面訪問

 1、ElasticSearch的介面語法

curl ‐X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' ‐d '<BODY>'

  其中:

   

 2、建立索引index和對映mapping

  請求url:

PUT     localhost:9200/blog1

  請求體:

{
    "mappings": {
        "article": {
            "properties": {
                "id": {
                    "type": "long",
                    "store": true,
                    "index":"not_analyzed"
                },
                "title": {
                    "type": "text",
                    "store": true,
                    "index":"analyzed",
                    "analyzer":"standard"
                },
                "content": {
                    "type": "text",
                    "store": true,
                    "index":"analyzed",
                    "analyzer":"standard"
                }
            }
        }
    }
}

  postman截圖:

   

  elasticsearch-head檢視:

   

 3、建立索引後設定Mapping

  我們可以在建立索引時設定mapping資訊,當然也可以先建立索引然後再設定mapping。

  在上一個步驟中不設定maping資訊,直接使用put方法建立一個索引,然後設定mapping資訊。

  請求的url:

POST    http://127.0.0.1:9200/blog2/hello/_mapping

  請求體:

POST    http://127.0.0.1:9200/blog2/hello/_mapping
{
    "hello": {
            "properties": {
                "id":{
                    "type":"long",
                    "store":true
                },
                "title":{
                    "type":"text",
                    "store":true,
                    "index":true,
                    "analyzer":"standard"
                },
                "content":{
                    "type":"text",
                    "store":true,
                    "index":true,
                    "analyzer":"standard"
                }
            }
        }
  }

  PostMan截圖

   

 4、刪除索引index

  請求url:

DELETE      localhost:9200/blog1

  postman截圖:

   

  elasticsearch-head檢視:

   

 5、建立文件document

  請求url:

POST    localhost:9200/blog1/article/1

  請求體:

{
    "id":1,
    "title":"ElasticSearch是一個基於Lucene的搜尋伺服器",
"content":"它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web介面。Elasticsearch是用Java
開發的,並作為Apache許可條款下的開放原始碼釋出,是當前流行的企業級搜尋引擎。設計用於雲端計算中,能夠達到實時
搜尋,穩定,可靠,快速,安裝使用方便。"
    
}

  postman截圖:

   

  elasticsearch-head檢視:

   

6、修改文件document

  請求url:

POST    localhost:9200/blog1/article/1

  請求體:

{
    "id":1,
    "title":"【修改】ElasticSearch是一個基於Lucene的搜尋伺服器",
"content":"【修改】它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web介面。Elasticsearch
是用Java開發的,並作為Apache許可條款下的開放原始碼釋出,是當前流行的企業級搜尋引擎。設計用於雲端計算中,能夠
達到實時搜尋,穩定,可靠,快速,安裝使用方便。"
    
}

  postman截圖:

   

  elasticsearch-head檢視:

   

 7、刪除文件document

  請求url:

DELETE  localhost:9200/blog1/article/1

  postman截圖:

   

  elasticsearch-head檢視:

   

 8、查詢文件-根據id查詢

  請求url:

GET localhost:9200/blog1/article/1

  postman截圖:

   

 9、查詢文件-querystring查詢

  請求url:

{
    "query": {
        "query_string": {
            "default_field": "title",
            "query": "搜尋伺服器"
        }
    }
}

  postman截圖:

   

  注意:將搜尋內容"搜尋伺服器"修改為"鋼索",同樣也能搜尋到文件,該原因會在下面講解中得到答案

{
    "query": {
        "query_string": {
            "default_field": "title",
            "query": "鋼索"
        }
    }
}

 10、查詢文件-term查詢

  請求url:

POST    localhost:9200/blog1/article/_search

  請求體:

{
    "query": {
        "term": {
            "title": "搜尋"
        }
    }
}

  postman截圖:

   

相關文章