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

架構(gòu)師系列-搜索引擎ElasticSearch(一)

這篇具有很好參考價(jià)值的文章主要介紹了架構(gòu)師系列-搜索引擎ElasticSearch(一)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

ES單機(jī)部署

下載es:?

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

配置 Elasticsearch

關(guān)閉防火墻

systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service

配置elasticsearch.yml
?

#設(shè)置允許訪問地址,配置位0.0.0.0允許任意主機(jī)訪問
- #network.host: 192.168.0.1
+ network.host: 0.0.0.0
# 配置集群
# node.name: node-1
+ node.name: node-1
- #discovery.seed_hosts: ["host1", "host2"]
discovery.seed_hosts: ["node-1"]
- #cluster.initial_master_nodes: ["node-1", "node-2"]
+ cluster.initial_master_nodes: ["node-1"]

修改Linux句柄數(shù)
?

# 查看當(dāng)前最大句柄數(shù)
sysctl -a | grep vm.max_map_count

# 修改句柄數(shù)
vi /etc/sysctl.conf
+ vm.max_map_count=262144

# 臨時(shí)生效
sysctl -w vm.max_map_count=262144

關(guān)閉swap

因?yàn)镋S的數(shù)據(jù)大量都是常駐內(nèi)存的,一旦使用了虛擬內(nèi)存就會(huì)導(dǎo)致查詢速度下降,一般需要關(guān)閉
swap,但是要保證有足夠的內(nèi)存
?

# 臨時(shí)關(guān)閉
swapoff -a

# 永久關(guān)閉
vi /etc/fstab
注釋掉swap的一行

架構(gòu)師系列-搜索引擎ElasticSearch(一),搜索引擎,elasticsearch,java

修改最大線程數(shù)及創(chuàng)建ES用戶

vi /etc/security/limits.conf
# 添加以下內(nèi)容
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096

# 重啟服務(wù)
reboot

# es不能以root啟動(dòng),創(chuàng)建用戶
useradd elasticsearch
passwd elasticsearch

# 增加sudoers權(quán)限
vi /etc/sudoers
+ elasticsearch ALL=(ALL) ALL

# 給ES的安裝目錄進(jìn)行授權(quán)
chown -R elasticsearch:elasticsearch elasticsearch-7.17.5

# jvm配置
vi jvm.options
+ -Xms4g
+ -Xmx4g

添加IK分詞器

在github中下載對(duì)應(yīng)版本的分詞器
https://github.com/infinilabs/analysis-ik/releases

根據(jù)自己的ES版本選擇相應(yīng)版本的IK分詞器,因?yàn)榘惭b的ES是 7.17.5 ,所以也下載相應(yīng)的IK分詞

架構(gòu)師系列-搜索引擎ElasticSearch(一),搜索引擎,elasticsearch,java

將下載的分詞器復(fù)制到ES安裝目錄的 plugins 目錄中并進(jìn)行解壓

mkdir ik && cd ik
unzip elasticsearch-analysis-ik-7.17.5.zip

# 啟動(dòng)
su elasticsearch
# 前臺(tái)啟動(dòng)
sh bin/elasticsearch
# 后臺(tái)啟動(dòng)
sh bin/elasticsearch -d

訪問主機(jī)的9200端口

http://192.168.101.20:9200

?kibana安裝

下載安裝 Kibana ?

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.5-linuxx86_64.tar.gz
tar -zvxf kibana-7.17.5-linux-x86_64.tar.gz
mv kibana-7.17.5-linux-x86_64 kibana-7.17.5

# 配置kibana
vi config/kibana.yml
- #server.port: 5601
+ server.port: 5601
- #server.host: "localhost"
+ server.host: "0.0.0.0"
- #elasticsearch.hosts: ["http://localhost:9200"]
+ elasticsearch.hosts: ["http://localhost:9200"]

# 啟動(dòng)kibana
su elasticsearch
#前臺(tái)運(yùn)行
sh bin/kibana
#后臺(tái)運(yùn)行
nohup sh bin/kibana >/dev/null 2>&1 &

訪問地址:http://192.168.101.20:5601

ES快速入門

索引管理

列出索引
?

GET /_cat/indices?v

架構(gòu)師系列-搜索引擎ElasticSearch(一),搜索引擎,elasticsearch,java

創(chuàng)建索引

架構(gòu)師系列-搜索引擎ElasticSearch(一),搜索引擎,elasticsearch,java

查看索引
?架構(gòu)師系列-搜索引擎ElasticSearch(一),搜索引擎,elasticsearch,java

架構(gòu)師系列-搜索引擎ElasticSearch(一),搜索引擎,elasticsearch,java?索引是否存在

?架構(gòu)師系列-搜索引擎ElasticSearch(一),搜索引擎,elasticsearch,java

關(guān)閉索引
?

在一些業(yè)務(wù)場(chǎng)景,我們可能需要禁止掉某些索引的訪問功能,但是又不想刪除這個(gè)索引
架構(gòu)師系列-搜索引擎ElasticSearch(一),搜索引擎,elasticsearch,java

刪除索引?

架構(gòu)師系列-搜索引擎ElasticSearch(一),搜索引擎,elasticsearch,java

?映射管理

映射的創(chuàng)建時(shí)基于索引的,你必須要先創(chuàng)建索引才能創(chuàng)建映射,es中的映射相當(dāng)于傳統(tǒng)數(shù)據(jù)庫(kù)中
的表結(jié)構(gòu),數(shù)據(jù)存儲(chǔ)的格式就是通過映射來規(guī)定的

創(chuàng)建映射
?

可以在創(chuàng)建索引時(shí)指定映射,其中 mappings.properties 為固定結(jié)構(gòu),指定創(chuàng)建映射屬性

PUT customer
{
    "mappings": {
        "properties": {
            "name": {
                "type": "keyword"
            },
            "age": {
                "type": "integer"
            }
        }
    }
}

查看映射
架構(gòu)師系列-搜索引擎ElasticSearch(一),搜索引擎,elasticsearch,java
?

文檔管理?

?創(chuàng)建文檔(業(yè)務(wù)ID)

文檔可以類比為關(guān)系型數(shù)據(jù)庫(kù)中的表數(shù)據(jù),添加的數(shù)據(jù)格式為 JSON 格式
注意需要在索引后面添加 _doc ,表示操作文檔
在未指定id生成情況,每執(zhí)行一次post將生成一個(gè)新文檔
如果index不存在,將會(huì)默認(rèn)創(chuàng)建
新增文檔,自動(dòng)生成文檔id,并且如果如果添加文檔的索引不存在時(shí)會(huì)自動(dòng)創(chuàng)建索引

post customer/_doc/1
{
"name" : "張三",
"age" : 15
}

# 返回結(jié)果
{
    "_index" : "customer", #所屬索引
    "_type" : "_doc", #所屬mapping type
    "_id" : "1", #文檔id
    "_version" : 1, #文檔版本
    "result" : "created", #文檔創(chuàng)建成功
    "_shards" : {
        "total" : 2, #所在分片有兩個(gè)分片
        "successful" : 1, #只有一個(gè)副本成功寫入,可能節(jié)點(diǎn)機(jī)器只有一臺(tái)
        "failed" : 0 #失敗副本數(shù)
    },
    "_seq_no" : 0, #第幾次操作該文檔
    "_primary_term" : 1 #詞項(xiàng)數(shù)

}

?創(chuàng)建文檔(自動(dòng)ID)

自動(dòng)生成的ID是一個(gè)不會(huì)重復(fù)的隨機(jī)數(shù),使用GUID算法,可以保證在分布式環(huán)境下,不同節(jié)點(diǎn)同一時(shí)間創(chuàng)建的 _id 一定是不沖突的
?

post customer/_doc
{
"name" : "李四",
"age" : 50
}

?更新文檔

?全量更新

和新增文檔一樣,輸入相同的 URL 地址請(qǐng)求,如果請(qǐng)求體變化,會(huì)將原有的數(shù)據(jù)內(nèi)容覆蓋

post customer/_doc/1
{
"name" : "張三",
"age" : 50
}
?增量更新

通過指定 _doc 方式默認(rèn)是全量更新,如果需要更新指定字段則需要將 _doc 改為 _update ,請(qǐng)求
內(nèi)容需要增加doc表示,原始 {“key”: value} ,更新 {“doc”: {“key”: value}}

post customer/_update/1
{
    "doc": {
        "age" : 55
    }
}

?查詢文檔

HEAD customer/_doc/1 #查看是否存儲(chǔ),返回200表示已存儲(chǔ)
GET customer/_doc/1 #返回源數(shù)據(jù)的查詢
GET customer/_doc/1?_source=false # 有時(shí)候只是查詢,不需要具體的源文檔字段
GET customer/_search # 查詢所有

?刪除文檔

DELETE customer/_doc/1 #指定文檔id進(jìn)行刪除
# 根據(jù)查詢條件刪除,會(huì)先查詢?nèi)缓笤趧h除,可能耗時(shí)會(huì)比較長(zhǎng)
post customer/_delete_by_query
{
    "query": {
        "match": {
            "age": "15"
        }
    }
}

?中文分詞器

IKAnalyzer已經(jīng)推出了3個(gè)大版本,在 2012 版本中,IK 實(shí)現(xiàn)了簡(jiǎn)單
的分詞歧義排除算法,標(biāo)志著 IK 分詞器從單純的詞典分詞向模擬語(yǔ)義分詞衍化
IK提供了兩個(gè)分詞算法: ik_smart:最少切分, ik_max_word:最細(xì)粒度劃分

ik_smart ?

原始內(nèi)容:傳智教育的教學(xué)質(zhì)量是杠杠的

GET _analyze
{
"analyzer": "ik_smart",
"text": "傳智教育的教學(xué)質(zhì)量是杠杠的"
}

?架構(gòu)師系列-搜索引擎ElasticSearch(一),搜索引擎,elasticsearch,java

?ik_max_word

GET _analyze
{
"analyzer": "ik_max_word",
"text": "傳智教育的教學(xué)質(zhì)量是杠杠的"
}

自定義詞庫(kù)

我們輸入“傳智教育的教學(xué)質(zhì)量是杠杠的”,但是分詞器會(huì)把“傳智教育”進(jìn)行拆開,分為了“傳”,
“智”,“教育”,但我們希望的是“傳智教育”可以不被拆開。


?進(jìn)入elasticsearch目錄 plugins/ik/config 中,創(chuàng)建我們自己的字典文件 yixin.dic ,并添加
內(nèi)容:

cd plugins/ik/config
echo "傳智教育" > custom.dic

# 進(jìn)入我們的elasticsearch目錄 : plugins/ik/config ,打開 IKAnalyzer.cfg.xml 文件,進(jìn)行
如下配置:
vi IKAnalyzer.cfg.xml
#增加如下內(nèi)容
<entry key="ext_dict">custom.dic</entry>

?重啟ElasticSearch,再次使用kibana測(cè)試.文章來源地址http://www.zghlxwxcb.cn/news/detail-850738.html

GET _analyze
{
"analyzer": "ik_max_word",
"text": "傳智教育的教學(xué)質(zhì)量是杠杠的"
}

到了這里,關(guān)于架構(gòu)師系列-搜索引擎ElasticSearch(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 552、Elasticsearch詳細(xì)入門教程系列 -【分布式全文搜索引擎 Elasticsearch(三)】 2023.05.19

    1.1 簡(jiǎn)單介紹 之前是對(duì)ES中的創(chuàng)建/查看/刪除索引、創(chuàng)建定義映射、創(chuàng)建/查看/修改/刪除文檔的這些操作有了一定的了解認(rèn)識(shí),但是是通過Postman + JSON串的方法來實(shí)現(xiàn)的 那么之后仍然是對(duì)ES中的索引、映射、文檔進(jìn)行操作,只是方法換成了Java API。 1.2 案例詳情 首先需要?jiǎng)?chuàng)建一個(gè)

    2024年02月08日
    瀏覽(31)
  • Java SpringBoot API 實(shí)現(xiàn)ES(Elasticsearch)搜索引擎的一系列操作(超詳細(xì))(模擬數(shù)據(jù)庫(kù)操作)

    Java SpringBoot API 實(shí)現(xiàn)ES(Elasticsearch)搜索引擎的一系列操作(超詳細(xì))(模擬數(shù)據(jù)庫(kù)操作)

    小編使用的是elasticsearch-7.3.2 基礎(chǔ)說明: 啟動(dòng):進(jìn)入elasticsearch-7.3.2/bin目錄,雙擊elasticsearch.bat進(jìn)行啟動(dòng),當(dāng)出現(xiàn)一下界面說明,啟動(dòng)成功。也可以訪問http://localhost:9200/ 啟動(dòng)ES管理:進(jìn)入elasticsearch-head-master文件夾,然后進(jìn)入cmd命令界面,輸入npm?run?start?即可啟動(dòng)。訪問http

    2024年02月04日
    瀏覽(34)
  • 分布式搜索引擎ElasticSearch——深入elasticSearch

    分布式搜索引擎ElasticSearch——深入elasticSearch

    聚合的分類 DSL實(shí)現(xiàn)Bucket聚合 DSL實(shí)現(xiàn)Metric聚合 RestAPI實(shí)現(xiàn)聚合 https://github.com/medcl/elasticsearch-analysis-pinyin DSL實(shí)現(xiàn)自動(dòng)補(bǔ)全查詢 Completion Suggester 修改酒店索引庫(kù)數(shù)據(jù)結(jié)構(gòu) RestAPI實(shí)現(xiàn)自動(dòng)補(bǔ)全查詢 實(shí)現(xiàn)酒店搜索頁(yè)面輸入框的自動(dòng)補(bǔ)全 數(shù)據(jù)同步思路分析 利用MQ實(shí)現(xiàn)mysql與elasticsearch數(shù)

    2024年01月17日
    瀏覽(55)
  • Elasticsearch 搜索引擎

    Elasticsearch 搜索引擎

    一、創(chuàng)建索引庫(kù) *put* *http://localhost:9200/* *索引庫(kù)名稱* PUT http://localhost:9200/xc_course number_of_shards:設(shè)置分片的數(shù)量,在集群中通常設(shè)置多個(gè)分片,表示一個(gè)索引庫(kù)將拆分成多片分別存儲(chǔ)不同 的結(jié)點(diǎn),提高了ES的處理能力和高可用性,入門程序使用單機(jī)環(huán)境,這里設(shè)置為1。 numb

    2024年02月01日
    瀏覽(22)
  • Elasticsearch全文搜索引擎

    Elasticsearch全文搜索引擎 Elasticsearch簡(jiǎn)介 windows平臺(tái)下安裝ES 學(xué)習(xí)ES的預(yù)備知識(shí) ES索引操作 ES文檔操作 ES高級(jí)查詢 Golang操作ES起步 Golang操作ES索引 Golang操作ES文檔 Golang ES高級(jí)查詢 Gin集成ES

    2024年02月09日
    瀏覽(22)
  • 分布式搜索引擎ElasticSearch——搜索功能

    分布式搜索引擎ElasticSearch——搜索功能

    DSL查詢分類 DSL官方文檔 全文檢索查詢 精確查詢 地理查詢 復(fù)合查詢 Function Score Query function score query Boolean Query 排序 分頁(yè) 官方文檔 高亮 快速入門 match,term,range,bool查詢 排序和分頁(yè) 高亮顯示 就是在前面抽取的解析代碼中進(jìn)一步添加關(guān)于高亮的解析部分,因?yàn)閔ighlight和so

    2024年02月01日
    瀏覽(28)
  • 分布式搜索引擎——elasticsearch搜索功能

    分布式搜索引擎——elasticsearch搜索功能

    Elasticsearch提供了基于JSON的DSL (Domain Specific Language)來定義查詢。常見的查詢類型包括: 查詢所有:查詢出所有數(shù)據(jù),一般測(cè)試用。例如:match_all 全文檢索(full text)查詢:利用分詞器對(duì)用戶輸入內(nèi)容分詞,然后去倒排索引庫(kù)中匹配。例如: match_query multi_match_query 精確查詢:根據(jù)精確詞條

    2024年02月05日
    瀏覽(36)
  • 【ElasticSearch】深入了解 ElasticSearch:開源搜索引擎的力量

    【ElasticSearch】深入了解 ElasticSearch:開源搜索引擎的力量

    在信息時(shí)代,數(shù)據(jù)的增長(zhǎng)速度之快讓我們迅速感受到了信息爆炸的挑戰(zhàn)。在這個(gè)背景下,搜索引擎成為了我們處理海量數(shù)據(jù)的得力工具之一。而 ElasticSearch 作為一款強(qiáng)大的開源搜索引擎,不僅能夠高效地存儲(chǔ)和檢索數(shù)據(jù),還在日志分析、實(shí)時(shí)監(jiān)控等領(lǐng)域展現(xiàn)了其卓越的性能。

    2024年02月08日
    瀏覽(26)
  • Elasticsearch:什么是搜索引擎?

    Elasticsearch:什么是搜索引擎?

    搜索引擎是一種軟件程序或系統(tǒng),旨在幫助用戶查找存儲(chǔ)在互聯(lián)網(wǎng)或特定數(shù)據(jù)庫(kù)中的信息。 搜索引擎的工作原理是對(duì)各種來源的內(nèi)容進(jìn)行索引和編目,然后根據(jù)用戶的搜索查詢向用戶提供相關(guān)結(jié)果列表。 搜索引擎對(duì)于希望快速有效地查找特定信息的用戶來說是有用的工具。

    2024年02月21日
    瀏覽(25)
  • 關(guān)于Elasticsearch全文搜索引擎

    關(guān)于Elasticsearch全文搜索引擎

    我們可以把它簡(jiǎn)稱為ES,但是搜索它的資料時(shí)(例如百度)還是使用Elasticsearch進(jìn)行搜索更準(zhǔn)確, 這個(gè)軟件不再是SpringCloud提供的,它也不針對(duì)微服務(wù)環(huán)境的項(xiàng)目來開發(fā) Elasticsearch和redismysql一樣,不僅服務(wù)于java語(yǔ)言,其它語(yǔ)言也可以使用,它的功能也類似一個(gè)數(shù)據(jù)庫(kù),能高效的從

    2024年02月05日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包