![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
DandelionCoder
在技术的海洋中游荡,探到最深处,寻回内心的方向 。
展开
-
使用elasticsearch遇到的一些问题以及解决方法
1.由gc引起节点脱离集群 因为gc时会使jvm停止工作,如果某个节点gc时间过长,master ping3次(zen discovery默认ping失败重试3次)不通后就会把该节点剔除出集群,从而导致索引进行重新分配。解决方法:(1)优化gc,减少gc时间。(2)调大zen discovery的重试次数(es参数:ping_retries)和超时时间(es参数:ping_ti转载 2015-10-16 18:12:49 · 3741 阅读 · 0 评论 -
Elasticsearch基础教程
Elasticsearch基础教程 翻译:潘飞(tinylambda@gmail.com)基础概念 Elasticsearch有几个核心概念。从一开始理解这些概念会对整个学习过程有莫大的帮助。 接近实时(NRT) Elasticsearch是一个接近实时的搜索平台。这意味着,从索引一个文档直到这个文档能够被搜索到有一个转载 2015-10-19 11:33:50 · 405 阅读 · 0 评论 -
[Elasticsearch] 全文搜索 (二) - 多词查询及查询的合并
多词查询(Multi-word Queries)如果我们一次只能搜索一个词,那么全文搜索就会显得相当不灵活。幸运的是,通过match查询来实现多词查询也同样简单:GET /my_index/my_type/_search{ "query": { "match": { "title": "BROWN DOG!" }转载 2015-09-16 14:43:27 · 716 阅读 · 0 评论 -
[Elasticsearch] 全文搜索 (三) - match查询和bool查询的关系,提升查询子句
match查询是如何使用bool查询的现在,你也许意识到了使用了match查询的多词查询只是简单地将生成的term查询包含在了一个bool查询中。通过默认的or操作符,每个term查询都以一个语句被添加,所以至少一个should语句需要被匹配。以下两个查询是等价的:{ "match": { "title": "brown fox"}}{ "bool": {转载 2015-09-16 14:44:22 · 410 阅读 · 0 评论 -
[Elasticsearch] 多字段搜索 (三) - multi_match查询和多数字段
multi_match查询multi_match查询提供了一个简便的方法用来对多个字段执行相同的查询。NOTE存在几种类型的multi_match查询,其中的3种正好和在"了解你的数据"一节中提到的几种类型相同:best_fields,most_fields以及cross_fields。默认情况下,该查询以best_fields类型执行,它会为每个字转载 2015-09-16 14:48:26 · 6486 阅读 · 0 评论 -
[Elasticsearch] 邻近匹配 (三) - 性能,关联单词查询以及Shingles
提高性能短语和邻近度查询比简单的match查询在性能上更昂贵。match查询只是查看词条是否存在于倒排索引(Inverted Index)中,而match_phrase查询则需要计算和比较多个可能重复词条(Multiple possibly repeated)的位置。在Lucene Nightly Benchmarks中,显示了一个简单的term查询比一个短语查询快大概10倍,比一转载 2015-09-16 14:53:03 · 482 阅读 · 0 评论 -
[Elasticsearch] 部分匹配 (四) - 索引期间优化ngrams及索引期间的即时搜索
本章翻译自Elasticsearch官方指南的Partial Matching一章。索引期间的优化(Index-time Optimizations)目前我们讨论的所有方案都是在查询期间的。它们不需要任何特殊的映射或者索引模式(Indexing Patterns);它们只是简单地工作在已经存在于索引中的数据之上。查询期间的灵活性是有代价的:搜转载 2015-09-16 14:56:31 · 346 阅读 · 0 评论 -
[Elasticsearch] 控制相关度 (三) - 通过查询结构调整相关度以及boosting查询
本章翻译自Elasticsearch官方指南的Controlling Relevance一章。通过查询结构调整相关度ES提供的查询DSL是相当灵活的。你可以通过将单独的查询子句在查询层次中上下移动来让它更重要/更不重要。比如,下面的查询:quick OR brown OR red OR fox我们可以使用一个bool查询,对所转载 2015-09-16 14:58:53 · 502 阅读 · 0 评论 -
[Elasticsearch] 邻近匹配 (二) - 多值字段,邻近程度与相关度
多值字段(Multivalue Fields)在多值字段上使用短语匹配会产生古怪的行为:PUT /my_index/groups/1{ "names": [ "John Abraham", "Lincoln Smith"]}运行一个针对Abraham Lincoln的短语查询:GET /my_index/groups/_search{ "q转载 2015-09-16 14:52:05 · 676 阅读 · 0 评论 -
开源大数据处理工具汇总(下)
接上一部分:开源大数据处理工具汇总(上),第二部分主要收集整理的内容主要有日志收集系统、消息系统、分布式服务、集群管理、RPC、基础设施、搜索引擎、Iaas和监控管理等大数据开源工具。日志收集系统一、Facebook Scribe贡献者:Facebook简介:Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用。它能够从各种日志源上收集日志转载 2015-10-20 15:55:08 · 800 阅读 · 0 评论 -
开源大数据处理工具汇总(上)
本文一共分为上下两部分。我们将针对大数据开源工具不同的用处来进行分类,并且附上了官网和部分下载链接,希望能给做大数据的朋友做个参考。下面是第一部分。查询引擎一、Phoenix贡献者::Salesforce简介:这是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询。Phoenix完全使用Java编写,代码位于GitHub上,并且提供了一个客户端可嵌入的JDB转载 2015-10-20 15:53:35 · 947 阅读 · 0 评论 -
[Elasticsearch] 控制相关度 (二) - Lucene中的PSF(Practical Scoring Function)与查询期间提升
本章翻译自Elasticsearch官方指南的Controlling Relevance一章。Lucene中的Practical Scoring Function对于多词条查询(Multiterm Queries),Lucene使用的是布尔模型(Boolean Model),TF/IDF以及向量空间模型(Vector Space Model)转载 2015-09-16 14:58:17 · 381 阅读 · 0 评论 -
[Elasticsearch] 控制相关度 (一) - 相关度分值计算背后的理论
本章翻译自Elasticsearch官方指南的Controlling Relevance一章。控制相关度(Controlling Relevance)对于仅处理结构化数据(比如日期,数值和字符枚举值)的数据库,它们只需要检查一份文档(在关系数据库中是一行)是否匹配查询即可。尽管布尔类型的YES|NO匹配也是全文搜索的一个必要组成,它们本身是不够的转载 2015-09-16 14:57:21 · 540 阅读 · 0 评论 -
#研发解决方案介绍#基于ES的搜索+筛选+排序解决方案
关键词:ElasticSearch、Lucene、solr、搜索、facet、高可用、可伸缩、mongodb、SearchHub、商品中心本文档适用人员:研发和运维提纲:曾经的基于MongoDB的筛选+排序解决方案MongoDB方案的缺陷看中了搜索引擎的facet特性看中了ES的简洁看中了ES的天生分布式设计窝窝的ES方案ES的几次事故和教训ES自身转载 2015-09-15 18:49:25 · 1294 阅读 · 0 评论 -
[Elasticsearch] 多字段搜索 (二) - 最佳字段查询及其调优
最佳字段(Best Fields)假设我们有一个让用户搜索博客文章的网站,就像这两份文档一样:PUT /my_index/my_type/1{ "title": "Quick brown rabbits", "body": "Brown rabbits are commonly seen."}PUT /my_index/my_type/2{转载 2015-09-16 14:47:35 · 468 阅读 · 0 评论 -
[Elasticsearch] 部分匹配 (二) - 通配符及正则表达式查询
通配符和正则表达式查询wildcard查询和prefix查询类似,也是一个基于词条的低级别查询。但是它能够让你指定一个模式(Pattern),而不是一个前缀(Prefix)。它使用标准的shell通配符:?用来匹配任意字符,*用来匹配零个或者多个字符。以下查询能够匹配包含W1F 7HW和W2F 8HW的文档:GET /my_index/address/_search转载 2015-09-16 14:54:52 · 5819 阅读 · 1 评论 -
[Elasticsearch] 全文搜索 (一) - 基础概念和match查询
全文搜索(Full Text Search)现在我们已经讨论了搜索结构化数据的一些简单用例,是时候开始探索全文搜索了 - 如何在全文字段中搜索来找到最相关的文档。对于全文搜索而言,最重要的两个方面是:相关度(Relevance)查询的结果按照它们对查询本身的相关度进行排序的能力,相关度可以通过TF/IDF,参见什么是相关度,地理位置的邻近程度(Proximity转载 2015-09-16 14:41:31 · 535 阅读 · 0 评论 -
[Elasticsearch] 全文搜索 (四) - 控制分析及相关度
控制分析(Controlling Analysis)查询只能摘到真实存在于倒排索引(Inverted Index)中的词条(Term),因此确保相同的分析过程会被适用于文档的索引阶段和搜索阶段的查询字符串是很重要的,这样才能够让查询中的词条能够和倒排索引中的词条匹配。尽管我们说的是文档(Document),解析器(Analyzer)是因字段而异的(Determined per Fi转载 2015-09-16 14:45:31 · 506 阅读 · 0 评论 -
[Elasticsearch] 多字段搜索 (四) - 跨字段实体搜索
跨字段实体搜索(Cross-fields Entity Search)现在让我们看看一个常见的模式:跨字段实体搜索。类似person,product或者address这样的实体,它们的信息会分散到多个字段中。我们或许有一个person实体被索引如下:{ "firstname": "Peter", "lastname": "Smith"}而addr转载 2015-09-16 14:49:10 · 435 阅读 · 0 评论 -
[Elasticsearch] 多字段搜索 (五) - 以字段为中心的查询
以字段为中心的查询(Field-centric Queries)上述提到的三个问题都来源于most_fields是以字段为中心(Field-centric),而不是以词条为中心(Term-centric):它会查询最多匹配的字段(Most matching fields),而我们真正感兴趣的最匹配的词条(Most matching terms)。NOTEbest_fie转载 2015-09-16 14:49:49 · 836 阅读 · 0 评论 -
[Elasticsearch] 多字段搜索 (六) - 自定义_all字段,跨域查询及精确值字段
自定义_all字段在元数据:_all字段中,我们解释了特殊的_all字段会将其它所有字段中的值作为一个大字符串进行索引。尽管将所有字段的值作为一个字段进行索引并不是非常灵活。如果有一个自定义的_all字段用来索引人名,另外一个自定义的_all字段用来索引地址就更好了。ES通过字段映射中的copy_to参数向我们提供了这一功能:PUT /my_index{转载 2015-09-16 14:50:40 · 689 阅读 · 0 评论 -
[Elasticsearch] 邻近匹配 (一) - 短语匹配以及slop参数
本文翻译自Elasticsearch官方指南的Proximity Matching一章。邻近匹配(Proximity Matching)使用了TF/IDF的标准全文搜索将文档,或者至少文档中的每个字段,视作"一大袋的单词"(Big bag of Words)。match查询能够告诉我们这个袋子中是否包含了我们的搜索词条,但是这只是一个方面。它不能告诉我们转载 2015-09-16 14:51:26 · 899 阅读 · 0 评论 -
[Elasticsearch] 部分匹配 (一) - 前缀查询
部分匹配(Partial Matching)敏锐的读者可能已经发现到目前为止,介绍的查询都是在整个词条层面进行操作的。匹配的最小单元必须是一个词条。你只能找到存在于倒排索引(Inverted Index)中的词条。但是如果你想匹配词条的一部分,而不是整个词条呢?部分匹配(Partial Matching)允许用户指定词条的一部分然后找到含有该部分的任何单词。匹配词条一部分这转载 2015-09-16 14:53:30 · 831 阅读 · 0 评论 -
[Elasticsearch] 部分匹配 (三) - 查询期间的即时搜索
本章翻译自Elasticsearch官方指南的Partial Matching一章。查询期间的即时搜索(Query-time Search-as-you-type)现在让我们来看看前缀匹配能够如何帮助全文搜索。用户已经习惯于在完成输入之前就看到搜索结果了 - 这被称为即时搜索(Instant Search, 或者Search-as-you-type)。这转载 2015-09-16 14:55:34 · 454 阅读 · 0 评论 -
大数据架构:flume-ng+Kafka+Storm+HDFS 实时系统组合
个人观点:大数据我们都知道hadoop,但并不都是hadoop.我们该如何构建大数据库项目。对于离线处理,hadoop还是比较适合的,但是对于实时性比较强的,数据量比较大的,我们可以采用Storm,那么Storm和什么技术搭配,才能够做一个适合自己的项目。下面给大家可以参考。可以带着下面问题来阅读本文章:1.一个好的项目架构应该具备什么特点?2.本项目架构是如何保证数据准确性的?3转载 2015-10-22 13:52:16 · 474 阅读 · 0 评论