国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

elastic search入門

這篇具有很好參考價值的文章主要介紹了elastic search入門。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

參考1:Elastic Search 入門 - 知乎

參考2:Ubuntu上安裝ElasticSearch_ubuntu elasticsearch-CSDN博客

1、ElasticSearch安裝

1.1安裝JDK,省略,之前已安裝過

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

1.2創(chuàng)建ES用戶

創(chuàng)建用戶:sudo useradd esuser
設(shè)置密碼:sudo passwd esuser

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

1.3?下載ElasticSearch安裝包

Ubuntu上下載:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-linux-x86_64.tar.gz

然后解壓:

tar -xvzf elasticsearch-7.11.1-linux-x86_64.tar.gz

1.4配置

配置jvm.options

vi config/jvm.options

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

配置elasticsearch.yml:

node.name: node-1            #配置當(dāng)前es節(jié)點(diǎn)名稱(默認(rèn)是被注釋的,并且默認(rèn)有一個節(jié)點(diǎn)名)
cluster.name: my-application #默認(rèn)是被注釋的,并且默認(rèn)有一個集群名
path.data: /home/lighthouse/es/data     # 數(shù)據(jù)目錄位置
path.logs: /home/lighthouse/es/logs     # 日志目錄位置
network.host: 0.0.0.0        #綁定的ip:默認(rèn)只允許本機(jī)訪問,修改為0.0.0.0后則可以遠(yuǎn)程訪問cluster.initial_master_nodes: ["node-1", "node-2"] #默認(rèn)是被注釋的 設(shè)置master節(jié)點(diǎn)列表 用逗號分隔

根據(jù)以上設(shè)置的path.data和path.logs內(nèi)容,需要在/home/lighthouse/目錄下創(chuàng)建es目錄,以及在es目錄下創(chuàng)建文件data和logs。

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

?ElasticSearch的配置信息:

屬性名?? ?說明
cluster.name?? ?配置elasticsearch的集群名稱,默認(rèn)是elasticsearch。建議修改成一個有意義的名稱。
node.name?? ?節(jié)點(diǎn)名,es會默認(rèn)隨機(jī)指定一個名字,建議指定一個有意義的名稱,方便管理
path.conf?? ?設(shè)置配置文件的存儲路徑,tar或zip包安裝默認(rèn)在es根目錄下的config文件夾,rpm安裝默認(rèn)在/etc/ elasticsearch
path.data?? ?設(shè)置索引數(shù)據(jù)的存儲路徑,默認(rèn)是es根目錄下的data文件夾,可以設(shè)置多個存儲路徑,用逗號隔開
path.logs?? ?設(shè)置日志文件的存儲路徑,默認(rèn)是es根目錄下的logs文件夾
path.plugins?? ?設(shè)置插件的存放路徑,默認(rèn)是es根目錄下的plugins文件夾
bootstrap.memory_lock?? ?設(shè)置為true可以鎖住ES使用的內(nèi)存,避免內(nèi)存進(jìn)行swap
network.host?? ?設(shè)置bind_host和publish_host,設(shè)置為0.0.0.0允許外網(wǎng)訪問
http.port?? ?設(shè)置對外服務(wù)的http端口,默認(rèn)為9200。
transport.tcp.port?? ?集群結(jié)點(diǎn)之間通信端口
discovery.zen.ping.timeout?? ?設(shè)置ES自動發(fā)現(xiàn)節(jié)點(diǎn)連接超時的時間,默認(rèn)為3秒,如果網(wǎng)絡(luò)延遲高可設(shè)置大些
discovery.zen.minimum_master_nodes?? ?主結(jié)點(diǎn)數(shù)量的最少值 ,此值的公式為:(master_eligible_nodes / 2) + 1 ,比如:有3個符合要求的主結(jié)點(diǎn),那么這里要設(shè)置為2
?

1.5?修改/etc/security/limits.conf文件 增加配置

sudo vi /etc/security/limits.conf

在文件最后,增加如下配置:

* soft nofile 65536
* hard nofile 65536

在/etc/sysctl.conf文件最后添加一行 vm.max_map_count=655360 添加完畢之后,執(zhí)行命令: sysctl -p

vi /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

1.6啟動ElasticSearch

啟動前先給esuser用戶權(quán)限,然后把用戶切換到esuser用戶

sudo chgrp -R lighthouse ./es
sudo chown -R lighthouse ./es
sudo chmod 777 es
su esuser

?elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

?elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

啟動ElasticSearch

./bin/elasticsearch

?elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

然后參考資料修改了bin/elasticsearch-env文件,讓es使用es目錄里的jdk,

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維?重新啟動,報錯如下:

ERROR: [1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
ERROR: Elasticsearch did not exit normally - check the logs at /home/lighthouse/es/logs/my-application.log

?把該釋放的內(nèi)存(可以使用free -h查看)都釋放出來后,重新啟動,成功了。

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

可以看到綁定了兩個端口:

  • 9300:集群節(jié)點(diǎn)間通訊接口

  • 9200:客戶端訪問接口

訪問http://43.138.0.199:9200/在客戶端可以看到以下信息:

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

2、學(xué)習(xí)es,索引的維護(hù)

2.1創(chuàng)建索引

http://43.138.0.199:9200/student

PUT

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

2.2、獲得索引信息

http://43.138.0.199:9200/student

GET

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

?2.3刪除索引

http://43.138.0.199:9200/city

DELETE

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

3、為索引添加數(shù)據(jù)

增刪改查

RESTful接口URL的格式:

http://localhost:9200/<index>/<type>/[<id>]

3.1、學(xué)生索引中添加小學(xué)學(xué)生類型的數(shù)據(jù)

?http://43.138.0.199:9200/student/xiaoxue/1

Post方式

Body如下:

{

? ? "name":"張三",

? ? "age":7

}

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

3.2、查看單個學(xué)生數(shù)據(jù)

?http://43.138.0.199:9200/student/xiaoxue/1

GET

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

3.3、修改學(xué)生信息

http://43.138.0.199:9200/student/xiaoxue/1

put

{

? ? "name": "張三",

? ? "age": 9

}

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

再次查看該學(xué)生信息,截圖如下:

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

3.4查詢所有學(xué)生列表

再添加一個學(xué)生,可以驗(yàn)證列表中的多個結(jié)果。

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

然后,調(diào)用查詢接口:

get接口

http://43.138.0.199:9200/student/_search

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

繼續(xù)驗(yàn)證分頁查詢

GET方式,from表示從哪個數(shù)據(jù)開始讀?。ǖ谝粋€數(shù)據(jù)就是0,以此類推),size表示讀取多少個數(shù)據(jù)。

http://43.138.0.199:9200/student/_search?from=0&size=2

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

然后查詢第2頁的數(shù)據(jù),from要改成2,如下所示:

GET

http://43.138.0.199:9200/student/_search?from=2&size=2

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

繼續(xù)驗(yàn)證查詢條件:

GET

http://43.138.0.199:9200/student/_search?from=0&size=2

body如下:

{

? "query": {

? ? "match": {

? ? ? "name": "張三"

? ? }

? }

}

結(jié)果如下:

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

有關(guān)查詢條件的說明如下:

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

?有關(guān)查詢結(jié)果的說明如下:

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

4、在ES中執(zhí)行SQL查詢ES數(shù)據(jù)

POST

http://43.138.0.199:9200/_sql?format=txt

Body如下:

{

? "query": "SELECT name,age FROM student order by name desc limit 6"

}

執(zhí)行結(jié)果如下:

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

參數(shù)format的取值說明如下:

format Axxept HTTP Header 說明
csv text/csv 逗號分隔
json application/json JSON格式
tsv text/tab-separated-values tab分隔
txt text/pain 文本格式
yaml application/yaml yaml格式
vbor application/vbor 簡潔的二進(jìn)制
smile application/smile 類似cbor的二進(jìn)制

返回json格式的數(shù)據(jù),驗(yàn)證如下:

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維?返回數(shù)據(jù)如下:

{
	"columns": [
		{
			"name": "name",
			"type": "text"
		},
		{
			"name": "age",
			"type": "long"
		}
	],
	"rows": [
		[
			"李四",
			8
		],
		[
			"張三",
			9
		],
		[
			"66",
			7
		],
		[
			"44",
			7
		],
		[
			"44",
			7
		],
		[
			"33",
			7
		]
	]
}

5、根據(jù)SQL生成DSL語句

POST

http://43.138.0.199:9200/_sql/translate

Body如下:

{

? "query": "SELECT name,age FROM student order by name desc limit 6"

}

執(zhí)行結(jié)果如下:

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

{
	"size": 6,
	"_source": {
		"includes": [
			"name",
			"age"
		],
		"excludes": []
	},
	"sort": [
		{
			"name.keyword": {
				"order": "desc",
				"missing": "_first",
				"unmapped_type": "keyword"
			}
		}
	]
}

拿來查詢數(shù)據(jù)

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

?可見,可以拿來查詢數(shù)據(jù)。

6、安裝分詞插件以及使用

在查看安裝了的插件列表時,突然報需要java11,然后我安裝了java11,并配置了環(huán)境變量。

參考:ubuntu安裝JDK11-CSDN博客

Elasticsearch提供插件機(jī)制對系統(tǒng)進(jìn)行擴(kuò)展
以安裝analysis-icu這個分詞插件為例

在線安裝:

#查看已安裝插件
bin/elasticsearch-plugin list
#安裝插件
bin/elasticsearch-plugin install analysis-icu
#刪除插件
bin/elasticsearch-plugin remove analysis-icu

注意:安裝和刪除完插件后,需要重啟ES服務(wù)才能生效。
測試分詞效果

POST _analyze
{
    "analyzer":"icu_analyzer",
    "text":"中華人民共和國"
}

執(zhí)行結(jié)果要貼下:

http://43.138.0.199:9200/_analyze

Post

body如下:

{

? ? "analyzer":"icu_analyzer",

? ? "text":"中華人民共和國"

}

結(jié)果如下:

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

{
	"tokens": [
		{
			"token": "中華",
			"start_offset": 0,
			"end_offset": 2,
			"type": "<IDEOGRAPHIC>",
			"position": 0
		},
		{
			"token": "人民",
			"start_offset": 2,
			"end_offset": 4,
			"type": "<IDEOGRAPHIC>",
			"position": 1
		},
		{
			"token": "共和國",
			"start_offset": 4,
			"end_offset": 7,
			"type": "<IDEOGRAPHIC>",
			"position": 2
		}
	]
}

測試分詞效果

#ES的默認(rèn)分詞設(shè)置是standard,會單字拆分
POST _analyze
{
    "analyzer":"standard",
    "text":"中華人民共和國"
}

#ik_smart:會做最粗粒度的拆
POST _analyze
{
    "analyzer": "ik_smart",
    "text": "中華人民共和國"
 }

#ik_max_word:會將文本做最細(xì)粒度的拆分
POST _analyze
{
    "analyzer":"ik_max_word",
    "text":"中華人民共和國"
}

執(zhí)行結(jié)果要貼下:

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

創(chuàng)建索引時可以指定IK分詞器作為默認(rèn)分詞器

PUT /es_db
{
    "settings" : {
        "index" : {
            "analysis.analyzer.default.type": "ik_max_word"
        }
    }
}

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維

執(zhí)行結(jié)果要貼下:

elastic search入門,系統(tǒng)Ubuntu,運(yùn)維文章來源地址http://www.zghlxwxcb.cn/news/detail-817249.html

到了這里,關(guān)于elastic search入門的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Elastic Search 命令詳解-索引操作

    Elastic Search 命令詳解-索引操作

    關(guān)于Elastic Search安裝可以參考《Elastic Search 8.6.2集群安裝部署》及Kibana安裝可以參考《Elastic Search 8.6.2簡單操作》。相關(guān)命令將在Kibana工具的Console平臺上執(zhí)行。 Elastic Search索引操作主要包含:創(chuàng)建、刪除、關(guān)閉和打開索引,以及索引別名的操作。其中,索引別名的操作在生產(chǎn)環(huán)

    2024年02月08日
    瀏覽(18)
  • 【搜索引擎】elastic search核心概念

    【搜索引擎】elastic search核心概念

    前言 本文不涉及ES的具體安裝下載、操作、集群的內(nèi)容,這部分內(nèi)容會放在后面一篇文章中。本文只包含ES的核心理論,看完本文再去學(xué)ES的細(xì)節(jié)會事半功倍。 目錄 1.由日志存儲引出的問題 2.什么是ES? 3.ES的數(shù)據(jù)結(jié)構(gòu) 4.ES的核心原理 5.聯(lián)系作者 本文或者說本系列的來源: 前面

    2024年02月03日
    瀏覽(17)
  • Springboot項(xiàng)目使用Elastic Search教程(完整步驟)

    Springboot項(xiàng)目使用Elastic Search教程(完整步驟)

    最近的項(xiàng)目需要用到Elastic Search,上網(wǎng)查資料的時候發(fā)現(xiàn)內(nèi)容比較分散,搜索起來的時候比較費(fèi)力, 于是最近入門配置成功之后,稍微總結(jié)一下吧。 先給出一些網(wǎng)上的教程 (152條消息) Spring Boot整合Elasticsearch,最新最全教程_spring elasticsearch_Cloud-Future的博客-CSDN博客 這一篇代碼

    2024年02月07日
    瀏覽(21)
  • 關(guān)于laravel使用Elastic Search的一些記錄

    關(guān)于laravel使用Elastic Search的一些記錄

    1. 準(zhǔn)備工作 因?yàn)槲冶镜豴hp版本是7.3.4,不支持太高的es。 所以使用如下環(huán)境: laravel6 + php7.3.4 + elastic search 7.17.2 2. 本地安裝elastic search 注意事項(xiàng): 如果是8以上版本,初次啟動時會生成密碼。安裝成功以后,訪問 https://localhost:9200/ ,會提示輸入密碼。用戶名為elastic,密碼就是

    2024年02月11日
    瀏覽(21)
  • elastic search es 分組統(tǒng)計 aggs 次數(shù)用法

    參考鏈接:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html es 各個版本的語法可能會不一樣,如果大家在用的時候發(fā)現(xiàn)語法報錯了,請查閱相關(guān)版本的語法。 剛需要按 ip 地址統(tǒng)計某個接口的訪問次數(shù),查了下 es 分組統(tǒng)計次數(shù) aggs 的用法,特此記錄一下,方

    2024年02月11日
    瀏覽(13)
  • Elastic Search 根據(jù)匹配分和熱度分排序

    匹配分、熱度分歸一化 排序:匹配分 * 0.8 + 熱度分 * 0.2

    2024年02月16日
    瀏覽(15)
  • DEB方式安裝elastic search7以及使用

    DEB方式安裝elastic search7以及使用

    參考:https://www.cnblogs.com/anech/p/15957607.html 1、安裝elastic search7 #手動下載安裝 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.1-amd64.deb wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.1-amd64.deb.sha512 shasum -a 512 -c elasticsearch-7.17.1-amd64.deb.sha512? sudo dpkg -i elas

    2024年01月23日
    瀏覽(19)
  • 使用docker安裝elastic search[ES]和kibana

    使用docker安裝elastic search和kibana,版本均為7.17.1 docker pull# 去dockerhub看具體版本,這里用7.17.1 臨時安裝生成文件# 參數(shù)說明 -d 后臺啟動 –name 起別名即:NAMES -p 9200:9200 將端口映射出來 elasticsearch的9200端口是供外部訪問使用;9300端口是供內(nèi)部訪問使用集群間通訊 -e “discovery.

    2024年02月14日
    瀏覽(20)
  • Centos 7 通過 targz 文件安裝 Elastic Search 服務(wù)

    Centos 7 通過 targz 文件安裝 Elastic Search 服務(wù)

    區(qū)別于通過發(fā)行版自帶的倉庫, 介紹如何通過 targz 文件安裝 Elastic Search 服務(wù), 使用的 Linux 為 Centos 7 https://www.elastic.co/downloads/elasticsearch 選擇 Linux x86_64, 下載 elasticsearch-8.8.0-linux-x86_64.tar.gz 解壓到 /opt/elasticsearch, 并加上軟鏈 這個版本的 Elastic Search 自帶 JVM, 版本為 openjdk version

    2024年02月08日
    瀏覽(18)
  • 關(guān)于PHP 使用 Elastic Search8的相關(guān)經(jīng)歷

    關(guān)于PHP 使用 Elastic Search8的相關(guān)經(jīng)歷

    你好! 如果你也是第一次使用ES8和PHP對接使用,這里或許有一些心得可以為你解決一些問題。 windows 版本搭建 Elastic Search 如下圖,通過官網(wǎng)下載一個windows版本的Elastic Search 執(zhí)行.bat文件即可啟動 https://localhost:9200 默認(rèn)的是ssl證書 ES8登錄是需要賬戶密碼的,windows啟動ES8以后,

    2024年02月15日
    瀏覽(40)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包