成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java中通過Elasticsearch實現全局檢索功能的方法和步驟及源代碼

開發 后端
Elasticsearch是一個基于Lucene的開源、分布式、RESTful搜索引擎,它提供了一個分布式的全文搜索引擎,具有HTTP網絡接口,基于無模式的JSON文檔。具有自動發現、分布式、可擴展性、高可靠性、多功能性、易用性等特點。

以下是通過Java Client API使用Elasticsearch實現全局檢索功能的方法和步驟:

一、添加Elasticsearch Java客戶端依賴

首先需要在項目中添加Elasticsearch Java客戶端的依賴。從Maven倉庫中獲取Elasticsearch Java客戶端的依賴項,將以下代碼添加到pom.xml文件中:

<dependencies>
    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>{version}</version>
    </dependency>
</dependencies>

其中{version}是Elasticsearch Java客戶端版本號,可以在Elasticsearch官方網站上找到最新版本。

二、連接Elasticsearch

在Java程序中連接Elasticsearch需要使用RestHighLevelClient,下面是一個簡單的示例:

RestHighLevelClient client = new RestHighLevelClient(
        RestClient.builder(new HttpHost("localhost", 9200, "http")));

在上面的代碼中,我們創建了一個RestHighLevelClient實例,用于連接名稱為localhost的Elasticsearch節點,端口號為9200。如果您需要連接其他Elasticsearch節點,可以修改host和port參數。

三、創建索引

在使用Elasticsearch進行全局檢索之前,需要先創建一個索引。下面是一個簡單的示例:

CreateIndexRequest request = new CreateIndexRequest("my_index");
client.indices().create(request, RequestOptions.DEFAULT);

在上面的代碼中,我們創建了一個名為my_index的索引。如果該索引已經存在,將不執行任何操作。如果需要創建多個索引,可以重復使用上述代碼創建其他索引。

四、添加文檔

在創建索引之后,需要向該索引中添加一些文檔,以便進行全局檢索。下面是一個簡單的示例:

IndexRequest request = new IndexRequest("my_index");
String jsonString = "{" +
        "\"user\":\"John\"," +
        "\"message\":\"hello\"" +
        "}";
request.source(jsonString, XContentType.JSON);
IndexResponse response = client.index(request, RequestOptions.DEFAULT);

在上面的代碼中,我們向名為my_index的索引中添加了一個文檔,該文檔包含user和message兩個字段。如果您需要添加多個文檔,可以重復使用上述代碼添加其他文檔。

五、執行全局檢索

在添加一些文檔之后,可以執行全局檢索來查找與給定條件匹配的所有文檔。下面是一個簡單的示例:

SearchRequest searchRequest = new SearchRequest("my_index"); 
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); 
searchSourceBuilder.query(QueryBuilders.matchQuery("message", "hello")); 
searchRequest.source(searchSourceBuilder); 
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);

在上面的代碼中,我們執行了一個全局檢索操作,以查找my_index索引中message字段中包含"hello"的所有文檔。使用SearchRequest和SearchSourceBuilder類來指定檢索條件和索引名稱。在檢索完成后,可以從SearchResponse對象中獲取匹配的文檔列表。

六、處理結果并展示

我們需要處理檢索結果,并將結果顯示給用戶。以下是一個簡單的示例,它將搜索結果中的每個文檔的message字段提取出來,并顯示給用戶:

SearchHits hits = searchResponse.getHits();
for (SearchHit hit : hits) {
    String sourceAsString = hit.getSourceAsString();
    Map<String, Object> sourceAsMap = hit.getSourceAsMap();
    String message = sourceAsMap.get("message").toString();
    System.out.println(message);
}

在上面的代碼中,我們首先獲取到SearchHits對象,然后遍歷每個SearchHit,將每個文檔的message字段提取出來并顯示。可以將上述代碼嵌入到你的應用程序的檢索結果處理邏輯中,以向用戶展示搜索結果。

七、關閉Elasticsearch連接

當你的程序完成Elasticsearch的全局檢索操作后,需要關閉與Elasticsearch的連接,以下是一個簡單的示例:

client.close();

在上面的代碼中,我們關閉了與Elasticsearch的連接。在使用任何資源后,都應關閉以避免資源泄漏。

通過以上幾個步驟,我們可以通過Java程序使用Elasticsearch進行全局檢索。需要注意的是,Elasticsearch有很多強大的功能,例如排序、分頁、聚合等,可以更復雜的搜索需求。你可以參考Elasticsearch官方文檔,了解更多關于Elasticsearch的使用。

責任編輯:姜華 來源: 今日頭條
相關推薦

2020-11-13 13:05:27

Java開發代碼

2023-12-08 09:15:53

Java單表樹形結構Tree

2023-12-26 12:12:57

檢索調優Scripting場景

2009-08-18 13:56:18

開源代碼Linux系統云計算

2022-01-04 19:15:33

ElasticsearSpring BootLogstash

2023-12-13 13:28:00

Spring全局異常處理架構

2009-08-12 10:29:31

C#實現全局鉤子

2023-11-20 08:39:24

Spring定時任務

2023-11-27 08:15:26

Spring訂單取消

2023-01-29 16:15:59

開源代碼

2009-10-10 09:27:42

Java泛型通用方法

2021-07-07 05:53:23

PythonPython 語法加密源代碼

2018-08-22 14:25:42

搜索LuceneQuery

2024-06-05 08:14:26

SpringElasticsea人臉數據

2010-03-17 17:11:04

Java線程通信

2011-06-10 16:33:54

iOS 5蘋果

2012-07-10 13:29:30

Java

2011-03-31 17:14:56

MySQL安裝

2009-08-14 11:24:10

MySQL全文檢索MySQL Like索

2021-11-30 14:50:29

編譯源代碼開源
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91av在线电影 | 国产精品久久毛片av大全日韩 | 久久伊人青青草 | 中文字幕 欧美 日韩 | 成年人免费看的视频 | 日韩亚洲欧美综合 | 小h片免费观看久久久久 | 在线观看亚洲 | 中文字幕精品一区久久久久 | 人人玩人人添人人澡欧美 | 99精品免费视频 | 精品一区二区三区四区视频 | 国产精品日韩欧美一区二区 | 操一草 | av在线一区二区三区 | 日韩中文字幕在线视频观看 | 91精品国产色综合久久不卡98口 | 欧美日韩一区在线观看 | 欧美久久国产精品 | caoporn视频| 国产精品国产成人国产三级 | 欧美xxxx性| 久久小视频 | 亚洲一区日韩 | 国产精品视频一区二区三 | 香蕉视频在线播放 | 综合激情av| 久久久久久国产精品免费 | 国产黄色电影 | 亚洲97 | 91精品久久久久 | 日本欧美视频 | www.久久99 | 国产一级毛片视频 | 久久免费精品 | 夜夜夜夜夜夜曰天天天 | 久久精品69 | 在线一区 | 玩丰满女领导对白露脸hd | 亚洲婷婷六月天 | 99福利视频导航 |