吉林省建设安全厅官方网站,大庆城市投资建设网站,松江建设管理中心网站,网站站点建设端口号的作用文章目录 全文检索流程ElasticSearch介绍ElasticSearch应用场景elasticsearch安装允许远程访问设置vm.max_map_count 的值 elasticsearch-head允许跨域 kibana 商品数量超千万#xff0c;数据库无法使用索引 如何使用全文检索#xff1a;
使用lucene#xff0c;在java中唯一… 文章目录 全文检索流程ElasticSearch介绍ElasticSearch应用场景elasticsearch安装允许远程访问设置vm.max_map_count 的值 elasticsearch-head允许跨域 kibana 商品数量超千万数据库无法使用索引 如何使用全文检索
使用lucene在java中唯一的一个全文检索技术。是一个全文检索工具包。很少直接使用Solr、Elasticsearch都是基于Lucene的全文检索服务器。独立运行支持集群 实时搜索时ES的性能更好
https://www.elastic.co/cn/downloads/elasticsearch https://www.elastic.co/cn/downloads/beats/filebeat https://elasticsearch.cn/
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-10-2 https://www.elastic.co/cn/downloads/past-releases/kibana-7-10-2 https://www.elastic.co/cn/downloads/past-releases/logstash-7-10-2 https://www.elastic.co/cn/downloads/past-releases/filebeat-7-10-2 https://github.com/mobz/elasticsearch-head
全文检索流程 创建索引 1 采集数据 2 创建文档对象 把原始文档进行封装Document对象 其中包含多个field 每个field可以自定义一个名称不同的Document中可以有不同的field 3 分析文档 对其中需要分析的field进行分析处理 分词进行关键词拆分 去除标点符号合并相同的单词 去除停用词 转换大小写 最终得到一个单词列表 其中并不是所有的field都需要分析例如文件的路径 单词列表中其中一个关键词就是一个term 4 创建索引 其中包含三部分内容 索引基于关键词term创建的。文档对象Document第二步封装好的Document对象。关键词和文档的对应关系 查询索引 1.用户接口 用户输入查询内容 输入可以是一个关键词也可以是一句话 2.封装查询条件 需要把用户输入的内容进行分词处理得到一个单词列表 需要指定要查询的field 查询条件field:value 3.执行查询 在索引中根据查询条件查询对应的字段找到对应的关键词。如果关键词在索引中存在就能查询到结果如果不存在就没有结果。 根据关键词找到对应的文档id列表根据文档id查询到对应的Document对象 4.展示结果 关键词的高亮显示分页处理根据相关度进行排序
ElasticSearch介绍
开源的高扩展的分布式全文检索引擎 使用Lucene作为其核心来实现所有索引和搜索的功能 ElasticSearch是面向文档型数据库一条数据在这里就是一个文档 使用JSON作为文档序列化的格式 但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性
ElasticSearch应用场景
网站搜索关键词搜索 数据预警第三方插件wathcer监控数据 数据分析使用ES存储分析海量数据(对日志的存储和分析也是比较适合) 日志分析ELK经典组合ElasticSearch logstash kibana
elasticsearch安装
sudo chown username:username elasticsearch-7.10.2-linux-x86_64.tar.gzsudo tar zxf elasticsearch-7.10.2-linux-x86_64.tar.gz在bin目录下./elasticsearch -d 启动
ps aux|grep elastickill -9 xx执行dmesg -T | tail查看最后几条内核日志或使用journalctl -xb | egrep -i killed process来搜索被杀死进程的日志。 使用top或htop命令实时监控进程的内存占用情况。特别是关注那些占用内存较大的进程看是否有异常增长。 查看Elasticsearch的配置文件如jvm.options确保JVM内存设置如-Xms和-Xmx合理不会超出系统可用内存的范围。
curl 127.0.0.1:9200ifconfig允许远程访问
vim elasticsearch.ymlnetwork.host: 0.0.0.0es即便是单机版也是当作集群来处理得知道集群中其他节点都有哪些
discovery.seed_hosts:[]设置vm.max_map_count 的值
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]这个问题表明系统配置中 vm.max_map_count 的值太低无法满足 Elasticsearch 的需求。vm.max_map_count 参数定义了进程可以拥有的最大虚拟内存区域数量这对于 Elasticsearch 的正常运行至关重要因为它需要大量的内存映射区域来管理其索引数据。
要解决这个问题需要增加 vm.max_map_count 的值。可以按照以下步骤操作
临时设置重启后失效 打开终端输入以下命令来临时增加 vm.max_map_count 的值
sudo sysctl -w vm.max_map_count262144永久设置需要修改配置文件 编辑 /etc/sysctl.conf 文件添加或修改以下行
vm.max_map_count262144保存文件后运行以下命令使更改生效
sudo sysctl -pelasticsearch-head
允许跨域
node -vnpm startvim elasticsearch.ymlhttp.cors.enabled: true
http.cors.allow-origin: *kibana
tar zxf kibana-7.10.2-linux-x86_64.tar.gzvim kibana.ymlserver.host: 0.0.0.0
elasticsearch.hosts: [http://localhost:9200]./kibana