ElasticSearch安装和使用

1.安装

(1)必须:在/etc/yum.repos.d/中,创建文件elasticsearch.repo
vim /etc/yum.repos.d/elasticsearch.repo

[elasticsearch]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md

(2)必须:然后用如下命令来安装(注意记录生成的password)
yum install --enablerepo=elasticsearch elasticsearch
(3)可选:安装后,修改配置文件
vim /etc/elasticsearch/elasticsearch.yml

2. 启动和关闭

  • 前台启动:
cd /usr/share/elasticsearch/
./bin/elasticsearch
  • 后台启动:
./bin/elasticsearch -d
  • 查看是否启动成功
curl --user elastic:some_password 127.0.0.1:9200
  • 查看端口是否启动
lsof -i:9200

3. 安装分词插件

  • 查看有哪些插件
bin/elasticsearch-plugin list
  • 在线安装分词插件analysis-icu
bin/elasticsearch-plugin install analysis-icu
  • 安装中文分词插件ik

从https://github.com/medcl/elasticsearch-analysis-ik/releases下载对应版本的ik插件
创建ik插件文件夹 cd your-es-root/plugins/ && mkdir ik
解压 your-es-root/plugins/ik

可在git查看版本,因为elasticsearch是最新版 8.5.3,但是ik目前最新版是8.5.2,参考教程,找到ik分词器的plugin-descriptor.properties中的elasticsearch.version, 改成自己es版本的版本号

4. python操作ElasticSearch

4.1 创建索引

  • 安装:pip install elasticsearch
from elasticsearch import Elasticsearch
es = Elasticsearch("http://localhost:9200", basic_auth=("elastic", SOME_PASSWORD))
print(es.info())

# 参看现有索引
print(es.cat.indices().raw) 

# 为了给索引设置一些属性
# 这里mappings, settings是dict,包含属性字段,详情可见https://blog.csdn.net/YiLiuF/article/details/123310248
mappings = {
    'properties': {
        "author": {
            "type": "text",
            "store": True
        },
        "text": {
            "type": "text",
            "store": True,
            "index": True,
            "analyzer": "ik_smart"
        },
    }
}
settings = {
    "index": {
        "number_of_shards": "5",
        "number_of_replicas": "1"
    }
}
es.indices.create(index='test_index', mappings=mappings, settings=settings)

# 参考https://www.elastic.co/guide/en/elasticsearch/client/python-api/8.5/examples.html
doc = {
    'author': 'author_name',
    'text': 'Interensting content...',
}
resp = es.index(index="test-index", id=1, document=doc)

# 查看索引的文档数量
print(es.indices.stats(index="test-index"))

4.2 查询索引

# 分词效果查看
es.indices.analyze(analyzer='ik_smart',text='我爱你水杯')

附:遇到的报错修改

1) insufficient memory for the Java

修改elastcisearch配置文件夹的jvm.options,详见参考
vim /etc/elasticsearch/jvm.options

-Xms1g
-Xmx1g
2) can not run elasticsearch as root

创建用户,用这个用户来运行:chown -R username:username some_folder
详情见参考

3)received plaintext http traffic on an https channel, closing connection Netty4HttpChannel

elasticsearch.yml 文件中把 xpack.security.http.ssl:enabled 设置成false即可,可见参考

参考

  • https://www.elastic.co/guide/en/elasticsearch/reference/8.5/rpm.html#rpm-repo
  • https://www.elastic.co/guide/en/elasticsearch/client/python-api/8.5/config.html
  • https://baijiahao.baidu.com/s?id=1746831225183250864&wfr=spider&for=pc
  • https://blog.csdn.net/YiLiuF/article/details/123310248
  • https://blog.csdn.net/xionglangs/article/details/123789875
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
安装使用Elasticsearch,您可以按照以下步骤进行操作: 1. 下载并安装Java:Elasticsearch是用Java编写的,因此您需要先安装Java。您可以从Oracle官方网站下载并安装适合您操作系统的Java版本。 2. 下载Elasticsearch:在Elasticsearch官方网站(https://www.elastic.co/downloads/elasticsearch)上下载适合您操作系统的Elasticsearch版本。 3. 解压缩Elasticsearch:将下载的文件解压缩到您选择的目录中。 4. 配置Elasticsearch:进入解压缩后的Elasticsearch目录,找到config文件夹。在该文件夹中,您可以编辑elasticsearch.yml文件以进行配置。您可以根据需要更改默认配置,例如集群名称、网络绑定地址等。 5. 启动Elasticsearch:在命令行中进入Elasticsearch目录,并运行bin/elasticsearch命令来启动Elasticsearch。请确保在启动之前Java已正确配置,并且没有其他进程在占用所需的端口。 6. 验证安装使用curl或浏览器访问http://localhost:9200,您应该能够看到Elasticsearch的版本信息。如果您能成功访问,表示安装成功。 一旦您安装Elasticsearch,您可以使用其RESTful API进行索引、搜索和管理数据。您还可以使用Kibana等工具来可视化和分析数据。请记住,Elasticsearch是一个功能强大而复杂的工具,您可能需要学习更多关于其配置和使用的知识。可以查阅Elasticsearch官方文档以获取更多详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值