《Elasticsearch介绍与应用.ppt》由会员分享,可在线阅读,更多相关《Elasticsearch介绍与应用.ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Elasticsearch介绍与应用mysql检索的瓶颈背景:平台attention检索,数量80万左右数据库like%tag%查询:接口耗时1s左右全表扫描,性能极差前端体验差Elasticsearch解决方案将attention批量导入到ES中存储使用ES检索,接口耗时降到50ms以内应用:feed库文章标题检索(titleLIKE%wd%ANDvertical_typeIN(0,1)ANDimg_num0)OR(titleLIKE%wd%ANDvertical_typeIN(14)Elasticsearch介绍分布式、可扩展、实时的搜索与数据分析引擎ApacheLucene基础之上简单一
2、致的RESTfulAPI开源,免费下载,使用,修改安装一、安装要求jdk至少需要在以上版本linux的内核版本需要在2.6以上二、安装下载wget解压tar启动./bin/elasticsearchd测试curlhttp:/localhost:9200/?pretty一些概念索引(index):类似于关系数据库中的一个数据库,一个索引就是一个拥有几分相似特征的文档的集合类型(type):一个索引中,可以定义一种或多种类型,类似于表文档(document):一个文档是一个可被索引的基础信息单元,以JSON格式来表示分片(shards):可以将一个索引划分成多份,这些份就叫做分片,可以水平分割/扩
3、展内容容量,进行分布式的、并行的操作,进而提高性能/吞吐量复制(replicas):创建分片的一份或多份拷贝,这些拷贝叫做复制分片与Elasticsearch交互curl-X:/:/?-d集群状态curl-XGETlocalhost:8200/_cluster/health?pretty计算集群中文档的数量curl-XGETlocalhost:8200/_count?pretty插入一条数据简单的GETcurl-XGETlocalhost:8200/megacorp/employee/1?pretty简单的搜索curl-XGETlocalhost:8200/megacorp/employee/
4、_search?prettycurl-XGETlocalhost:8200/megacorp/employee/_search?q=last_name:Smith&pretty复杂点的搜索搜索姓氏为Smith的雇员,并且年龄大于30全文检索多索引,多类型搜索/_search:在所有的索引中搜索所有的类型/tag/_search:在tag索引中搜索所有的类型/tag,cat/_search:在tag和cat索引中搜索所有的文档/t*,c*/_search:在任何以g或者u开头的索引中搜索所有的类型/tag/user/_search:在tag索引中搜索user类型/tag,us/user,op/_
5、search:在tag和us索引中搜索user和op类型/_all/user,tweet/_search:在所有的索引中搜索user和tweet类型分页size显示应该返回的结果数量,默认是10from显示应该跳过的初始结果数量,默认是0每页展示5条,可以用下面方式请求得到1到3页的结果:GET/_search?size=5GET/_search?size=5&from=5GET/_search?size=5&from=10查询条件组合must:文档必须匹配这些条件才能被包含进来。must_not:文档必须不匹配这些条件才能被包含进来。should:如果满足这些语句中的任意语句,将增加_sco
6、re,否则,无任何影响。filter:必须匹配,但它以不评分、过滤模式来进行。这些语句对评分没有贡献,只是根据过滤标准来排除或包含文档。bool:must:match:title:howtomakemillions,must_not:match:tag:spam,should:match:tag:starred,range:date:gte:2014-01-01bool:must:match:title:howtomakemillions,must_not:match:tag:spam,should:match:tag:starred,filter:range:date:gte:2014-01-01Q&A