当前位置: 首页 > news >正文

网站如何做搜狗搜索引擎住房城乡建设网站

网站如何做搜狗搜索引擎,住房城乡建设网站,有名的seo外包公司,温州专业做网站用Docker搭建Elasticsearch集群 对于用Docker搭建分布式Elasticsearhc集群的一个介绍#xff0c;以及一些实施中遇到问题的总结 搜索服务简述 结合业务的场景#xff0c;在目前的商品体系需要构建搜索服务#xff0c;主要是为了提供用户更丰富的检索场景以及高速#xf…用Docker搭建Elasticsearch集群 对于用Docker搭建分布式Elasticsearhc集群的一个介绍以及一些实施中遇到问题的总结 搜索服务简述 结合业务的场景在目前的商品体系需要构建搜索服务主要是为了提供用户更丰富的检索场景以及高速实时及性能稳定的搜索服务。作为使用Java技术栈的团队来说可以选择使用比较好上手的三方搜索服务。另外一种选则就是搭建自己的搜索集群。结合自己公司的业务和场景来说搭建搜索集群在投入使用后的成本可控搜索服务和线上的其他微服务可以通过集群的内网IP通讯。 安装Elasticsearch的Docker镜像 目前Elasticsearch 版本到了5.X, Springboot 目前不支持5.X以上的elasticsearch。所以还是选择了2.2.4。 Dockerfile 关于ES的镜像可以直接去Dockerhub上pull.但是官方版本一般都是ES的基础镜像在实际的需求场景下还需要安装一些插件,(比如ES的删除api插件。分词器插件等所以可以选择pull基础镜像后再重新tagpush到自己的镜像仓库中之后用Dokcerfile重新build一个定制版的ES镜像。 如下就是一个基于基础镜像的安装了analysis-ik分词器以及ES官方的delete-by-query插件的dockerfile。定制完之后重新tag然后push到自己的docker仓库就可以了。 FROM yourRegistry/elasticsearch:2.4.4 RUN sed -i s/deb.debian.org/mirrors.ustc.edu.cn/g /etc/apt/sources.list RUN apt-get update apt-get install zip RUN mkdir -p /usr/share/elasticsearch/plugins/ik RUN cd /usr/share/elasticsearch/plugins/ik wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v1.10.4/elasticsearch-analysis-ik-1.10.4.zip unzip elasticsearch-analysis-ik-1.10.4.zip RUN /usr/share/elasticsearch/bin/plugin install delete-by-query 分词器 关于分词器的选择还是要根据不同的场景去判断。因为ES对于中文分词做的比较差所以中文分词一般都需要另外安装其他分词器插件。本文以分词器ik为例。 需要注意的是Analysis-ik 的官方的插件版本需要和安装的Elasticsearch版本一致。具体的使用版本可以在官方的版本列表中查询 Analysis-ik版本 Elasticsearch其他插件 在上述的Dockerfile 中添加了 delete-by-query插件。delete-by-query插件提供了对于多个Document的删除API。还可以选择的插件有:Elasticsearch API extension plugins 。 添加方式也是类似在Dockerfile中添加 RUN /usr/share/elasticsearch/bin/plugin install XX 即可。 elasticsearch.yml配置 Elasticsearch 最重要的配置文件就是elasticsearch.yml了。在elasticsearch.yml 中需要配置ES集群的信息。具体配置内容如下一下只是一个举例 配置Elasticsearch的集群名称默认是elasticsearch # Elasticsearch Configuration # # ---------------------------------- Cluster ----------------------------------- # # 配置Elasticsearch的集群名称默认是elasticsearch # cluster.name: elasticsearch # # ------------------------------------ Node ------------------------------------ # # 节点名默认随机指定一个name列表中名字。集群中node名字不能重复 node.name: search01-node1 # # #################################### Index #################################### # # 设置每个index默认的分片数默认是5 # index.number_of_shards: 2 # # 设置每个index的默认的冗余备份的分片数默认是1 index.number_of_replicas: 1 # ----------------------------------- Paths ------------------------------------ # # 索引数据的存储路径默认是es根目录下的data文件夹 # # path.data: /path/to/data # # 日志路径: # # path.logs: /path/to/logs # # ----------------------------------- Memory ----------------------------------- # # 启动时开启内存锁防止启动ES时swap内存。 # bootstrap.memory_lock: true # # # ---------------------------------- Network ----------------------------------- # # Set the bind address to a specific IP (IPv4 or IPv6): # # 绑定的ip地址, 可以是hostname或者ip地址用来和集群中其他节点通信同时会设置network.publish_host,以及network.bind_host network.host: 0.0.0.0 #设置绑定的ip地址生产环境则是实际的服务器ip这个ip地址关系到实际搜索服务通信的地址和服务在同一个集群环境的可以用内网ip默认和network.host相同。 network.publish_host: 0.0.0.0 #设置绑定的ip地址可以是ipv4或ipv6的默认和network.host相同。 network.bind_host: 0.0.0.0 #节点间交互的tcp端口默认是9300 transport.tcp.port: 9300 #设置对外服务的http端口默认为9200 http.port: 9200 transport.tcp.compress: true 设置是否压缩tcp传输时的数据默认为false不压缩。 # # --------------------------------- Discovery ---------------------------------- # # 启动时初始化集群的服务发现的各个节点的地址。 discovery.zen.ping.unicast.hosts: [127.0.0.1:9300,host2:9300,host3:9300]#设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1。为了防止选举时发生“脑裂”建议配置master节点数 总结点数/2 1 discovery.zen.minimum_master_nodes: 1 # # ---------------------------------- Gateway ----------------------------------- # # 设置集群中N个节点启动之后才可以开始数据恢复默认为1。 gateway.recover_after_nodes: 1 # # ---------------------------------- Various ----------------------------------- # # node.max_local_storage_nodes: 1 # # 设置删除索引时需要指定索引name防止一条命令删除所有索引数据。默认是true # action.destructive_requires_name: true 对于集群环境的配置需要注意的点整理了一下 network.publish_host对外通信的ip,这里设置成宿主机的内网IP如果使用默认值 你会发现当其他节点找到了这台宿主机和端口 就是连接不上这个节点discovery.zen.ping.unicast.hosts主节点搜索列表 建议最好带上端口号 比如[“127.0.0.1:9300”,”host1:9300”] Elasticsearch默认使用服务发现(Zen discovery)作为集群节点间发现和通信的机制。Azure、EC2和GCE也有使用其他的发现机制。服务发现由discovery.zen.*开头的一系列属性控制。discovery.zen.minimum_master_nodes: 1 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1对于大的集群来说可以设置大一点的值2-4。 index.number_of_shards这里只是一个全局的索引分片数的默认值。默认是5可以在创建索引的时候重新定义分片数量 。分片越多检索越快索引能力越强但不表示写入更快index.number_of_replicas同上也是全局的默认值可以在创建索引时重新定义值 。属于数据备份数防止数据丢失。通过url:http://localhost:9200/A/_status 可以查询指定索引的状态。 Docker-Compose在集群node的配置 在所有的集群的节点可以使用docker compose来启动容器。通过volumes变量配置映射的本地配置以及本地的备份数据data目录。基础镜像就是已经build好的带有分词器插件的镜像。最好tag后缀和基础镜像区别开如用elasticsearch:2.4.4_ik elasticsearch-node1:image: yourRegistry/elasticsearch:2.4.4_ikcontainer_name: elasticsearch-node1ulimits:memlock:soft: -1hard: -1mem_limit: 1gvolumes:- ~/elasticsearch/data:/usr/share/elasticsearch/data- ~/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.ymlports:- 9200:9200 启动好了之后可以通过http的健康检查请求来查看集群的配置。 http://your_domain:9200/_cluster/health?prettytrue 返回如下 {cluster_name : elasticsearch,status : green,timed_out : false,number_of_nodes : 3,number_of_data_nodes : 3,active_primary_shards : 0,active_shards : 0,relocating_shards : 0,initializing_shards : 0,unassigned_shards : 0,delayed_unassigned_shards : 0,number_of_pending_tasks : 0,number_of_in_flight_fetch : 0,task_max_waiting_in_queue_millis : 0,active_shards_percent_as_number : 100.0 } Logstash Kibana 为了方便数据的全量增量的同步可以在搜索服务基础上增加Logstash。Losstash也可以使用Docker容器进行部署。相关可以查看 Logstash-docker 以及 增量数据同步-logstash 介绍 。如要和mysql数据库进行数据同步需要安装logstash-input-jdbc插件。具体的部署方式可以看 migrating-mysql-data-into-elasticsearch-using-logstash。 和Elasticsearch以及Logstash可以搭配使用的还有KibanaKibana可以提供可视化的索引数据管理。网上关于E.L.K的文章也比较多这里不再具体介绍了。Kibana 是为 Elasticsearch 设计的开源分析和可视化平台。你可以使用 Kibana 来搜索查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化以图标的形式展现出来。Kibana的docker部署可以查看Configuring Kibana on Docker相关配置 Kibana Default settings 。
http://wiki.neutronadmin.com/news/146637/

相关文章:

  • 免费发布租房信息网站企业网站优化包括哪三个层面
  • 建网站买的是什么流量推广平台
  • 怎么给网站做404wordpress主页广告
  • 做英文的小说网站有哪些wordpress公司官网主题
  • 网站投稿源码wordpress 正文替换
  • 品牌建设思维导图新网站前期seo怎么做
  • 文明网站建设管理培训心得古董做推广哪个网站好
  • 广东广东深圳网站建设网站后台如何用代码上传视频
  • 四海网络网站建设定制烟台网站网站建设
  • 网站开发与维修是什么意思广东网站开发哪家强
  • 济南网站搜索优化北京网站开发建设公司
  • 国内免费产品发布网站四川住房和城乡建设厅网站官网
  • 网站的建设可以起到什么作用是什么意思给我免费的观看
  • 网站怎么盈利太原市一页网络科技有限公司
  • 网站标题作弊详解企业微信网站建设方案
  • 西安网站设计制东莞seo网络推广专
  • 网站建设公司现在还挣钱吗网站免费建站性盈盈影院
  • 网站投票功能闵行做网站公司
  • 杭州网站建设官网蓝韵网络上海市建设工程咨询协会
  • app网站制作公司seo全网营销公司
  • 哪个网站可以做经济模拟题h5网站建设建站
  • 阿里云网站建设方案书河北建设厅查询网站
  • 百度 安徽省工程建设信息网站个人网站备案内容
  • 网站开发和微信开发需要什么人ps制作手机app界面设计
  • 成都彭州网站建设仿历史网站模板下载
  • 站群管理系统cms个人主页设计图
  • 山西天镇建站哪家好站长之家网址查询
  • 国内优秀设计网站推荐保定网站开发
  • 做博客网站需要工具吗网站可信认证必做
  • 基于php的电商网站开发广州网站建设智能 乐云践新