202210-08 一文搞定Docker安装ElasticSearch的过程 目录前言一、安装Docker二、安装ElasticSearch三、安装ElasticSearch-Head四、安装IK分词器五、总结前言项目准备上ElasticSearch,为了后期开发不卡壳只能笨鸟先飞,在整个安装过程中遇到以下三个问题。Docker安装非常慢ElasticSearch-Head连接出现跨域ElasticSearch-Head操作报出406错误码一、安装Docker目前咔咔对Docker的理解还只是个皮毛,对于不了解的东西就要多多使用,使用的多了自然而然也就会了。安装依赖包... 继续阅读 >
202110-17 Elasticsearch中store field与non-store field的区别说明 Elasticsearch中storefield与non-storefield的区别在定义index的mapping的时候,我们可以指定某些fields是否要store(默认是不store)那么他们有什么区别呢?PUT/my_index{"mappings":{"my_type":{"properties":{"title":{"type":"string","store":true},"date":{"type":"date","store":true},"content":{"... 继续阅读 >
202110-17 Elasticsearch 映射参数详解 fields Elasticsearch映射参数fieldsfields处于不同的目的,通过不同的方法索引相同的字段通常非常有用。这也是多字段的目的。例如,一个字符串字段可以映射为text字段用于全文本搜索,也可以映射为keyword字段用于排序或聚合。PUTmy_index{"mappings":{"_doc":{"properties":{"city":{"type":"text","fields":{"raw":{"type":"keyword"}... 继续阅读 >
202110-17 基于ElasticSearch Analyzer的使用规则详解 analyzer的使用规则查询只能查找倒排索引表中真实存在的项,所以保证文档在索引时与查询字符串在搜索时应用相同的分析过程非常重要,这样查询的项才能够匹配倒排索引中的项。尽管是在说文档,不过分析器可以由每个字段决定。每个字段都可以有不同的分析器,既可以通过配置为字段指定分析器,也可以使用更高层的类型(type)、索引(index)或节点(node)的默认配置。在索引时,一个字段值是根据配置或默认分析器分析的。例如... 继续阅读 >
202106-22 docker 部署 Elasticsearch kibana及ik分词器详解 es安装dockerpullelasticsearch:7.4.0#-d:后台运行#-p:指定宿主机与docker启动容器的端口映射#--name:为elasticsearch容器起个别名#-e:指定为单节点集群模式#dockerrun-d--nameelasticsearch-p9200:9200-p9300:9300-e"discovery.type=single-node"elasticsearch:7.4.0dockerrun-id--namees-d-p9200:9200-p9300:9300-v/usr/share/elasticsearch/plugins:/usr/share/elasticsearch/plugins-... 继续阅读 >
202106-08 golang elasticsearch Client的使用详解 elasticsearch的client,通过NewClient建立连接,通过NewClient中的Set.URL设置访问的地址,SetSniff设置集群获得连接后,通过Index方法插入数据,插入后可以通过Get方法获得数据(最后的测试用例中会使用elasticsearchclient的Get方法)funcSave(iteminterface{}){client,err:=elastic.NewClient(elastic.SetURL("http://192.168.174.128:9200/"),//Mustturnoffsniffindockerelastic.SetSn... 继续阅读 >
202105-09 时间轻松学会.NET Core操作ElasticSearch7的方法 在互联网上,随处可见的搜索框。背后所用的技术大多数就是全文检索。在全文检索领域,常见的库/组件有:Lucene、Solr、Sphinx、ElasticSearch等。简单对比几种全文引擎的区别Lucene是一个基于Java开发的全文检索基础包,使用起来繁杂,且默认不支持分布式检索Solr是基于Lucene开发的一个搜索工具。抽象度更高,使用更简单,且提供一个控制面板。ElasticSearch也是基于Lucene开发的。同样是高度抽象,并提供了一个非常... 继续阅读 >
202103-30 使用elasticsearch定时删除索引数据 1、有的时候我们在使用ES由于资源有限或业务需求,我们只想保存最近一段时间的数据,所以有必要做定时删除数据。2、编写脚本vimdel_es_by_day.sh#!/bin/bash#定时删除elasticsearch索引#authormenard2019-3-25date=`date-d"-7days""+%Y.%m.%d"`/usr/bin/curl-v--userelastic:password-XDELETE"http://192.168.10.201:9200/*-$date"增加可执行权限chmod+xdel_es_by_day.sh3、创建用于测试的索引puttest-2019.03.18p... 继续阅读 >
202102-23 elasticsearch+logstash并使用java代码实现日志检索 为了项目日志不被泄露,数据展示不采用Kibana1、环境准备1.1创建普通用户#创建用户useraddquerylog#设置密码passwdqueylog#授权sudo权限查找sudoers文件位置whereissudoers#修改文件为可编辑chmod-vu+w/etc/sudoers#编辑文件vi/etc/sudoers#收回权限chmod-vu-w/etc/sudoers#第一次使用sudo会有提示WetrustyouhavereceivedtheusuallecturefromthelocalSystemAdministrator.Itusuallyboilsdowntothese... 继续阅读 >
202012-02 Elasticsearch使用常见问题解决方案 一、和redis一起使用会造成netty启动冲突问题,所以需要在***Application入口文件中添加方法:@PostConstructpublicvoidinit(){//seeNetty4Utils.setAvailableProcessors()System.setProperty("es.set.netty.runtime.available.processors","false");}二、NoNodeAvailableException[Noneoftheconfigurednodesareavailable:[{#transport#-1}{V4jtTT-tQQqULCNjSNSfgg}{192.168.116.128}{192.168.116.128:9300}]解决... 继续阅读 >
202011-29 Django利用elasticsearch(搜索引擎)实现搜索功能 1、在Django配置搜索结果页的路由映射"""pachongURLConfigurationThe`urlpatterns`listroutesURLstoviews.Formoreinformationpleasesee:https://docs.djangoproject.com/en/1.10/topics/http/urls/Examples:Functionviews1.Addanimport:frommy_appimportviews2.AddaURLtourlpatterns:url(r'^/pre>,views.home,name='home')Class-basedviews1.Addanimport:fromother_app.viewsimport... 继续阅读 >
202011-16 分布式全文检索引擎ElasticSearch原理及使用实例 一什么是ElasticSearchElasticsearch是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎ApacheLucene(TM)基础上的搜索引擎.当然Elasticsearch并不仅仅是Lucene那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。可实现亿级数据实时查询实时分析的分布式搜索引擎。可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据... 继续阅读 >
202010-10 Elasticsearch py客户端库安装及使用方法解析 一、介绍elasticsearch-py是一个官方提供的low-level的elasticsearchpython客户端库。为什么说它是一个low-level的客户端库呢?因为它只是对elasticsearch的restAPI接口做了一层简单的封装,因此提供了最大的灵活性,但是于此同时使用起来就不是太方便。相对于这个low-level的客户端库,官方还提供了一个high-level的python客户端库:elasticsearch-dsl,这个会在另一篇文章中介绍。更多介绍参见官方文档:https://elasticsearch... 继续阅读 >
202010-09 基于logstash实现日志文件同步elasticsearch 引言:之前博文介绍过了mysql/oracle与ES之间的同步机制。而logstash最初始的日志同步功能还没有介绍。本文就logstash同步日志到ES做下详细解读。1、目的:将本地磁盘存储的日志文件同步(全量同步、实时增量同步)到ES中。2、源文件:[root@5b9dbaaa148atest_log]#ll-rwxrwxrwx1rootroot170Jul508:02logmachine.sh-rw-r--r--1rootroot66Jul508:25MProbe01.log-rw-r--r--1rootroot74Jul508:28MProbe02.l... 继续阅读 >
202010-08 python 使用elasticsearch 实现翻页的三种方式 使用ES做搜索引擎拉取数据的时候,如果数据量太大,通过传统的from+size的方式并不能获取所有的数据(默认最大记录数10000),因为随着页数的增加,会消耗大量的内存,导致ES集群不稳定。因此延伸出了scroll,search_after等翻页方式。一、from+size浅分页"浅"分页可以理解为简单意义上的分页。它的原理很简单,就是查询前20条数据,然后截断前10条,只返回10-20的数据。这样其实白白浪费了前10条的查询。GETtest/_search{"... 继续阅读 >
202010-08 Python操作Elasticsearch处理timeout超时 Elasticsearch是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。Elasticsearch在ApacheLucene的基础上开发而成,由ElasticsearchN.V.(即现在的Elastic)于2010年首次发布Elasticsearch以其简单的REST风格API、分布式特性、速度和可扩展性而闻名,是ElasticStack的核心组件;ElasticStack是适用于数据采集、充实、存储、分析和可视化的一组开源工具... 继续阅读 >