第1章 ELKStack 对于日志来说,最常见的需求就是收集、存储、查询、展示,开源社区正好有相对应的开源项目:logstash(收集)、elasticsearch(存储+搜索)、kibana(展示),我们将这三个组合起来的技术称之为ELKStack,所以说ELKStack指的是Elasticsea ...
分类:
其他好文 时间:
2017-04-07 22:47:51
阅读次数:
468
查找文件: [root@server ~]# find / -name elasticsearch/var/log/elasticsearch/var/run/elasticsearch/var/lock/subsys/elasticsearch/var/lib/elasticsearch/var/ ...
分类:
系统相关 时间:
2017-04-07 21:17:41
阅读次数:
195
问题描述如下: 1.在kibana 上查看日志的内容是可以用中文进行搜索的,如下图所示: 然而,在我的代码里用中文进行查询时,却只会返回空,查询时使用的代码如下: 查询体: 返回的结果: 到底是啥原因呢?在网上找了很久都没有结果,只能靠自己摸索了,终于在楼主的几经艰苦之下找到了问题原因。 问题原因其 ...
分类:
其他好文 时间:
2017-04-07 19:58:16
阅读次数:
172
一、ELK介绍 1.1 elasticsearch 1.1.1 elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许 ...
分类:
其他好文 时间:
2017-04-07 09:55:32
阅读次数:
283
使用C#代码实现对ElastiSearch的编程查询,是十分方便的,通常情况下,开发者采用官方提供的NEST客户端程序,通过封装的方法向ElasticSearch引擎发送查询请求,搜索数据,最终获取返回的查询结果,实现预定的业务需求。在内部,NEST客户端通过格式化的数据结构,把C#代码转换成HTT ...
一、先摆需求: 1、中文搜索、英文搜索、中英混搜 如:“南京东路”,“cafe 南京东路店” 2、全拼搜索、首字母搜索、中文+全拼、中文+首字母混搜 如:“nanjingdonglu”,“njdl”,“南京donglu”,“南京dl”,“nang南东路”,“njd路”等等组合 3、简繁搜索、特殊符号 ...
分类:
编程语言 时间:
2017-04-06 19:58:42
阅读次数:
6518
顾名思义,best_field就是获取最佳匹配的field,另个可以通过tie_breaker来控制其他field的得分,boost可以设置权重(默认都为1)。 下面从宏观上来讲的简单公式: score=best_field.score*boost+other_fields*boost.score* ...
分类:
其他好文 时间:
2017-04-06 19:55:12
阅读次数:
1191
cross_fields类型采用了一种以词条为中心(Term-centric)的方法,这种方法和best_fields及most_fields采用的以字段为中心(Field-centric)的方法有很大的区别。 它将所有的字段视为一个大的字段,然后在任一字段中搜索每个词条。 operator:ope ...
分类:
其他好文 时间:
2017-04-06 19:49:01
阅读次数:
315
顾名思义,most_field就是匹配词干的字段数越多,分数越高,也可设置权重boost。 下面是简易公式(详细评分算法请参考:http://m.blog.csdn.net/article/details?id=50623948): score=match_field1_score*boost+ma ...
分类:
其他好文 时间:
2017-04-06 19:48:28
阅读次数:
286
Lucene的IndexSearcher提供一个explain方法,能够解释Document的Score是怎么得来的,具体每一部分的得分都可以详细地打印出来。这里用一个中文实例来纯手工验算一遍Lucene的评分算法,并且结合Lucene的源码做一个解释。 首先是测试用例,我使用“北京东路”来检索一个 ...
分类:
其他好文 时间:
2017-04-06 19:45:16
阅读次数:
2293