elasticsearch
文章平均质量分 81
yulio1234
这个作者很懒,什么都没留下…
展开
-
elasticsearch遇到的问题
linux下启动报错BindTransportException[Failed to bind to [9300-9400]解决办法Exception in thread "main" BindTransportException[Failed to bind to [9300-9400]]; nested: ChannelException[Failed to bind to: /192.168.原创 2017-07-01 12:19:43 · 10667 阅读 · 0 评论 -
Elasticsearch - 自定义分析器
全文搜索引擎会用某种算法对要建索引的文档进行分析, 从文档中提取出若干Token(词元), 这些算法称为Tokenizer(分词器);这些Token会被进一步处理, 比如转成小写等, 这些处理算法被称为Token Filter(词元处理器), 被处理后的结果被称为Term(词), 文档中包含了几个这样的Term被称为Frequency(词频)。 引擎会建立Term和原文档的Inverted Ind转载 2017-07-02 19:50:45 · 508 阅读 · 0 评论 -
elasticsearch实现分类搜索
分类搜索是业务中经常出现的场景。以下是原生api代码。{ "query": { "multi_match": { "query": "这些都跟你的钱包有关", "type": "most_fields", "fields": [ "documentTitle^1.5", "documentKeywrods^2",原创 2017-08-22 09:52:09 · 662 阅读 · 0 评论 -
elasticsearch实现热门词汇展示
搜索页面经常会有展示热门词汇的需求。把用户经常搜索的词汇按出现的次数展示出来。这其实就是一个经典的wordcount,是数据分析方面典型的入门案例。相对于hadoop和strorm。用es可以很方便的实现。 //获取搜索日志 SearchRequestBuilder requestBuilder = esClient.prepareSearch("ind原创 2017-08-22 13:55:19 · 14039 阅读 · 8 评论 -
elasticsearch通过组合使用自定模板和动态模板来映射logstash数据
logstash传输给es的数据会自动映射为5索引,5备份,字段都为text的的索引。这样基本上无法进行数据分析。 所以必须将logstash的数据按照既定的格式存储在es中,这时候就要使用到es模板技术了。在es中可以定义了自定义模板和动态模板,之后es会自动将相关索引映射为模板规定的格式。模板格式如下:{ "template": "tomcat*", "settings": {原创 2017-11-17 13:52:53 · 3512 阅读 · 0 评论 -
filebeat采集数据的几个痛点的解决方案
1.行转列filebeat采集多行日志的时候会把日志分开来采集,这样传递到logstash的时候就无法正确解析了,所以用把多行日志统一采集。 这时候可以使用:multiline配置选项。multiline:适用于日志中每一条日志占据多行的情况,比如各种语言的报错信息调用栈。这个配置的下面包含如下配置:pattern:多行日志开始的那一行匹配的pattern negate:是否需要对patter原创 2017-11-17 10:05:06 · 16731 阅读 · 5 评论 -
logstash通过codec将完整的数据发送到kafka
业务需求,通过logstash解析日志后,需要发送一个份到kafka中。但在实际操作的时候发现一个很蛋疼的问题。就是logstash发送到kafka的数据竟然只是一个message。。对就是一个大括号包裹的message,其他什么都没有。。网上到处搜都没搜索相关问题,然后取官网看了看,发现一个codec插件很强大,用了一下果然能行。具体代码如下 kafka { codec =>原创 2017-11-16 16:22:50 · 1962 阅读 · 3 评论 -
使用es构建全自动搜索系统
相信每一个使用lucene或者solr的程序员最深恶痛觉的就是为每一个文档(document)创建索引,特别是lucene,一些复杂一点的索引需求会写半个屏幕的查询语法。但是有了es,这些问题都迎刃而解了。通过es的特性,只需要做一个后台管理页面,让业务人员录入索引规则就可以自动索引和搜索啦,再也不用我手动写索引程序啦!全自动,不需要管理! 下面我来讲讲具体实现。首先是建表,创建一个属性(prop原创 2017-11-16 16:15:54 · 1535 阅读 · 0 评论 -
elasticsearch 使用词干提取器处理英语语言
es默认的语言分析器standard只能对英语语言进行简单处理,无法将变形后的单词还原为词干。es中提供了很多词干提取器:譬如基于算法的 Porter stemmer,基于算法和内置词典的kstem和基于外置词典的hunspell在使用language analyzers的英语分析器时默认就是使用的porter stemmer。不过该词干提取器效果并不是很好。有两种方案修改:使用kstem tok...原创 2018-06-23 14:27:03 · 2241 阅读 · 0 评论