elasticsearch的docker安装与使用

这篇具有很好参考价值的文章主要介绍了elasticsearch的docker安装与使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装

docker network create elastic

docker pull docker.elastic.co/elasticsearch/elasticsearch:8.10.4

# 增加虚拟内存, 此处适用于linux
vim /etc/sysctl.conf # 添加 vm.max_map_count=262144
# 重新启动
sysctl vm.max_map_count


docker run --name es01 --net elastic -p 9200:9200 -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:8.10.4

成功后会出现下图
elasticsearch的docker安装与使用,elasticsearch,docker,jenkins
将密码保存,可以先重置:文章来源地址https://www.toymoban.com/news/detail-715083.html

docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

复制证书以供ssl访问

docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .

使用

connect

from elasticsearch import Elasticsearch


NODES = [
    "https://localhost:9200",
    "https://localhost:9201",
    "https://localhost:9202",
]

# Password for the 'elastic' user generated by Elasticsearch
ELASTIC_PASSWORD = "<password>"

# Create the client instance
client = Elasticsearch(
    NODES,
    ca_certs="/path/to/http_ca.crt",
    basic_auth=("elastic", ELASTIC_PASSWORD)
    # 支持多种登陆方式
    # api_key=("api_key.id", "api_key.api_key")
    # bearer_auth="token-value"
    # ssl_assert_fingerprint=CERT_FINGERPRINT,
)

# Successful response!
client.info()

index

mapping = {
    "settings": {
        "analysis": {
            "analyzer": {
                "latex_analyzer": {
                    "type": "standard",  # 使用标准分析器作为基础
                    "stopwords": "_none_"  # 不使用停用词
                }
            }
        }
    },
    "mappings": {
        "properties": {
            "question": {
                "type": "text",
                "analyzer": "latex_analyzer"  # 使用上面定义的分析器
            }
        }
    }
}

# 创建索引
es.indices.create(index="questions_index", body=mapping)

insert

from elasticsearch import Elasticsearch, helpers

insert_df = df["question"].to_frame()

insert_df.head()

def doc_generator(df, index_name):
    df_iter = df.iterrows()
    for index, document in df_iter:
        yield {
            "_index": index_name,
            "_id": index,      
            "_source": document.to_dict(),
        }

helpers.bulk(es, doc_generator(insert_df, 'questions_index'))

query

search_query = {
    "query": {
        "match": {
            "question": "数轴上A、B两点所表示的有理数的和是"
        }
    }
}

response = es.search(index="questions_index", body=search_query)

for hit in response['hits']['hits']:
    print(hit['_source']['question'])
import ujson

# 原始查询
query_string = '''{
    "query": {
        "bool": {
            "must": [
                {
                    "bool": {
                        "must": [
                            {
                                "bool": {
                                    "should": [
                                        {
                                            "multi_match": {
                                                "query": "数轴上A、B两点所表示的有理数的和是",
                                                "fields": ["question^3", "question.raw^3", "question.search^1", "question.autosuggest^1", "question.english^1"],
                                                "type": "cross_fields",
                                                "operator": "and"
                                            }
                                        },
                                        {
                                            "multi_match": {
                                                "query": "数轴上A、B两点所表示的有理数的和是",
                                                "fields": ["question^3", "question.raw^3", "question.search^1", "question.autosuggest^1", "question.english^1"],
                                                "type": "phrase",
                                                "operator": "and"
                                            }
                                        },
                                        {
                                            "multi_match": {
                                                "query": "数轴上A、B两点所表示的有理数的和是",
                                                "fields": ["question^3", "question.raw^3", "question.english^1"],
                                                "type": "phrase_prefix",
                                                "operator": "and"
                                            }
                                        }
                                    ],
                                    "minimum_should_match": "1"
                                }
                            }
                        ]
                    }
                }
            ]
        }
    }
}'''


query_dict = ujson.loads(query_string)
response = es.search(index='questions_index', body=query_dict)

for hit in response['hits']['hits']:
    print(hit['_source'])

到了这里,关于elasticsearch的docker安装与使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elasticsearch的docker安装与使用

    成功后会出现下图 将密码保存,可以先重置: 复制证书以供ssl访问 connect index insert query

    2024年02月08日
    浏览(36)
  • 使用 Docker 安装 Elasticsearch 8.4.3

    前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 从 Elasticsearch 8.0 开始,默认启用安全性。启用安全性后,Elastic Stack 安全功能需要对传输网络层进行 TLS 加密,否则您的集群将无法启动。 确保为 Docker 分配至

    2024年02月21日
    浏览(31)
  • docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依)

    目录 安装docker+jenkins+docker-compose+ruoyi+mysql 安装yum命令 下载docker-ce 启动docker 安装docker-compose 查询docker和docker-compose兼容性 查询docker-compose版本 下载docker-compose 使用sudo管理员权限执行命令  docker-compose --version  查询是否成功    docker-compose部署若依项目 打包 部署出现过得问题

    2024年02月05日
    浏览(41)
  • Linux 中使用 Docker 安装 Elasticsearch 及 Kibana

    查看当前运行的镜像及本地已经下载的镜像,确认之前没有安装过 ES 和 Kibana 镜像 从远程镜像仓库拉取 ES 镜像到本地 从远程镜像仓库拉取 Kibana 镜像到本地 查看本地仓库中的镜像 查看内存空间使用情况 创建后续挂载的文件夹 添加 elasticsearch.yml 配置 修改 /mydata/elasticsearch

    2024年04月16日
    浏览(53)
  • 使用docker安装部署elasticsearch,并持久化到容器卷

    1.拉取Elasticsearch Docker镜像 在终端中执行以下命令来从Docker Hub拉取特定版本(如8.2.0)的Elasticsearch镜像。请确保你的网络连接正常,并且Docker已经在你的机器上安装并正确配置。 2.创建挂载目录 执行以下命令在本地创建文件夹,用于持久化 Elasticsearch 的数据和配置。 如果上述文

    2024年04月08日
    浏览(50)
  • 使用Docker安装和部署Elasticsearch出现问题以及解决方案

    docker安装elasticsearch(最详细版)| Bright1668-CSDN es在Windows环境启动报错 | 你道本部院是个书生-CSDN 查看max_map_count的值 默认是 65530 。 重新设置max_map_count的值。 –name es:设置容器的名称为\\\"es\\\"。 -p 9200:9200 -p 9300:9300:这部分将主机的端口与容器的端口进行映射。 -e “discovery.ty

    2024年02月09日
    浏览(58)
  • docker安装es8.x及elasticSearch8部分api使用

    docker中安装es8 1、es8的tar下载地址: tar包下载地址) 2、docker load -i es-name 3、docker run -d --name elasticsearch-8.6.2 -e ES_JAVA_OPTS=“-Xms256m -Xmx256m” -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” elasticsearch:8.6.2 4、8开始以后不支持直接使用http方式访问es: 4.1、cd /usr/share/elasticsearch/config 4

    2024年02月12日
    浏览(49)
  • Jenkins基础介绍以及docker安装Jenkins

    Jenkins是一个可扩展的持续集成引擎 持续集成就是通常说的CI(Continues Integration) 每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。 白话:

    2024年02月13日
    浏览(56)
  • 【Docker】docker安装配置Jenkins

    docker 安装 Jenkins  配置Jenkins  1、设置Jenkins插件镜像源 2、启动配置   3、插件配置 4、配置Gitee https://gitee.com/profile/personal_access_tokens https://gitee.com/profile/personal_access_tokens         5、配置maven    6、配置JDK

    2024年02月11日
    浏览(53)
  • 手把手教程:Linux使用docker安装ElasticSearch8.2.3和配套Kibana

    前言 之前用的es一直是比较老的版本,最近做项目的时候觉得该用一个稍微新一点的了,就琢磨了一下新版本的使用,顺便整理下安装流程。之所以要整理这个,是因为新版本的ES跟老版本的安装过程差别太大了,特别是要配套Kibana的情况下。 开放端口 在云服务器控制台配置

    2024年02月11日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包