现在你已经简单了解了ES能帮你做什么,也了解了开始使用ES是多么的简单。ES尝试最少量的只是和配置就能达到目的。学习ES的最好的方式就是跳跃式阅读:在index和search处开始就可以了。然而,你对ES了解的越多,你就能获得越多的生产力,就越能发现应用程序特定域的元素,就越能调整输出。本书剩余的部... Read More
posted @ 2014-05-09 17:04 QQ1350995917 Views(265) Comments(0) Diggs(0)
在这章节的开始,我们曾经提到过ES能扩展到成百上千的服务器,并且能处理PT级别的数据。然而在这个教程中介绍如何使用ES的时候并没有提及到服务器。ES天生为分布式设计,他隐藏了随分布式而来的很多复杂细节。ES的分布式在很大程度上是透明的。教程中不需要你知道有关分布式系统,sharding,cluste... Read More
posted @ 2014-05-09 15:26 QQ1350995917 Views(226) Comments(0) Diggs(0)
希望这个小小的指导能成为一个介绍ES能做什么的demo。以上介绍的仅仅是ES的冰山一角而已,像suggestions,geolocation,percolation,fuzzy,和partial matching等因为这个教程的篇幅原因而没有介绍。但是这里已经展示了ES建立一个高级搜索是多么简单的事... Read More
posted @ 2014-05-09 14:39 QQ1350995917 Views(182) Comments(0) Diggs(0)
最后,我们要完成最后一个业务需求:允许管理者对员工信息做出数据分析。ES有个功能叫aggregations,这个功能可以对数据进行先进的统计和分析,就像是SQL中的GROUP BY,只不过是功能更强大。例如:要查出员工中最流行的兴趣名称,GET /megacorp/employee/_search{... Read More
posted @ 2014-05-09 11:05 QQ1350995917 Views(787) Comments(0) Diggs(0)
很多的应用喜欢高亮所搜结果文档中符合搜索条件的片段特别显示,用来提醒用户为什么搜索结果文档符合他们的搜索条件。这个在ES中也是很容易实现的。如下:GET /megacorp/employee/_search{ "query":{ "match_phrase":{ "about":"... Read More
posted @ 2014-05-08 17:15 QQ1350995917 Views(318) Comments(0) Diggs(0)
上一节介绍了单个单词在field中的检索。但是有时候想要检索包含一个词组或短语的文档。例如,现在已经可以构建一个请求体查询一个包含了词组”rock climbing“中任意一个或两个无序的单词的员工信息。如果要精确检索词组可以稍微变化一下match为match_phrase,如下:GET /mega... Read More
posted @ 2014-05-08 17:00 QQ1350995917 Views(2362) Comments(0) Diggs(0)
目前认识到的ES就是进行了简单的name匹配,age过滤。来试试更高级的-全文检索-一个传统数据库依然挣扎的任务。现在要搜索对”rock climbing“感兴趣的员工信息,如下:GET /megacorp/employee/_search{ "query":{ "match":{ ... Read More
posted @ 2014-05-08 16:37 QQ1350995917 Views(1461) Comments(0) Diggs(0)
来尝试一下更为复杂一点的检索。我们想要找到姓中包含“Smith"且年龄大于30的员工信息,一个有效的查询如下:GET /megacorp/employee/_search{ "query":{ "filtered":{ "filter":{ "range":{ ... Read More
posted @ 2014-05-08 16:11 QQ1350995917 Views(205) Comments(0) Diggs(0)
使用Query-string这种检索方式是方便于命令行的检索,但是他受到了诸多限制(seeSearchLite)。ES还提供了一个丰富的,灵活的搜索方式:Query DSL。Query DSL允许用户构建更复杂而健壮的搜索条件。DSL(Domain Specific Language)使用JSON作... Read More
posted @ 2014-05-08 15:51 QQ1350995917 Views(1124) Comments(0) Diggs(0)
ES的GET动作是相当简单的。现在就来点高级点的,搜索。首先看看最简单的搜索,搜索所有的员工信息,curl -XGET 'http://localhost:9200/megacorp/employee/_search?pretty'你看到了,我们使用了megacorp这个index和employee... Read More
posted @ 2014-05-08 14:43 QQ1350995917 Views(312) Comments(0) Diggs(0)