Loading...
Elasticsearch(七)分词器用处分词Index time analysis: 创建或者更新文档时,会对文档进行分词Search time analysis: 查询时,对搜索关键词分词normalization: 提升recall召回率,能搜索到更多的结果分析器character filter分词之前预处理,过滤无用字符、标签,字符转换等。1、HTML Strip Character...
Elasticsearch(六)ES ScriptsES在1.4.x-5.0版本用的是Groovy,在5.0版本以后,放弃Groovy改用Painless。Painless是ES默认的脚本语言,除此之外,ES还支持其他几种语言:Expression: 每个文档的开销较低,表达式的作用更多,可以非常快速地执行,甚至比编写native脚本还要快,支持JavaScript语法的子集,单个表达式。缺...
Elasticsearch(五)ES底层原理正排索引(doc values)与倒排索引从广义上来说,doc values本质上是一个序列化的列式存储。列式存储适用于聚合、排序、脚本等操作,所有的数字、地理坐标、日志、IP和不分析(not_analyzed)字符类型都会默认开启。倒排索引的优势在于查找包含某个项的文档,正排索引用来确定哪些项是否存在单个文档里。如图,ES中有如上五条记录,我们执...
Elasticsearch(四)MappingMapping就是ES数据字段field的type元数据,ES在创建索引的时候,dynamic mapping会自动为不同的数据指定相应mapping。mapping中包含了字段的类型、搜索方式(exact value或者full text)、分词器等。查看mappingGET product/_mappingsDynamic mapping字符...
Elasticsearch(三)Elasticsearch查询语法SearchTimeout默认没有timeout,如果设置了timeout,那么会执行timeout机制。Timeout机制:假设用户查询结果有1W条数据,需要10秒才能查询完毕,但是用户设置了1秒的timeout,那么不管当前一共查询了多少数据,都会在1秒后停止查询,并返回当前数据。GET product/_search?t...
Elasticsearch(二)ES安装配置jdk下载ES并解压配置开发模式: ES默认不用修改配置文件,开箱即用,在该模式下,ES会将一些问题以warning的方式打印出来,不会影响使用生产模式: 修改了ES的网络或集群配置,会触发ES的引导检查,检查内存、JVM、集群节点等一系列配置,如果有问题,会以ERROR的形式展现,程序将无法启动配置vi config/elasticsearch....
Elasticsearch(一)Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在...
消息中间件之Apache Kafka(四)数据同步机制Kafka的Topic被分为多个分区,分区是按照Segments存储的文件块。分区日志是存储在磁盘上的日志序列,Kafka可以保证分区里的事件是有序的。其中Leader负责对应分区的读写,Follower负责同步分区的数据,0.11版本之前,Kafka使用HighWatermarker机制保证数据的同步,但是基于HighWatermark...
消息中间件之Apache Kafka(三)基础API依赖 <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients --> <dependency> <groupId>org.apache.kafka</groupId> ...
消息中间件之Apache Kafka(二)单机环境搭建准备工作JDK1.8+,配置JAVA_HOME配置主机名和IP映射vi /etc/hostname,修改主机名,然后重启服务器v1 /etc/hosts,添加主机名与IP的映射关闭防火墙,也可以放行相关端口安装并启动zookeeper,见zookeeper搭建、PAXOS、ZAB及基本API下载Kafka下载地址http://kafka....