Elastiscsearch入门

优势:大数据的解析抽离,无需大批量处理工作实现实时特性的分析和聚合
基础:apache Lucene; 全词搜索引擎库;elasticsearch利用lucene提供的能力,提供友好简洁的方式进行

索引和搜索,使用简单的RESTful API隐藏复杂性,实现全词搜索;
    分布实时文档存储,分布实实时分析搜索引擎;支持扩展和P级的结构化或非结构化数据;
    Node客户端和Tranasport客户端,RESTful API 
面向文档:
    存储整个对象或文档,对文档的内容进行索引,基本单元是文档;
    
    使用JSON作为文档的串行化格式,将对象转换为JSON以便索引比更加简单;
    
实例:
    在elasticsearch中存储数据的动作称作indexing; 
    (1)决定在那里存储, elasticsearch集群可以包含多个碎片,轮流保存多个类型
        一:每个雇员一个索引文档;
        二:每个document的类型employee
        三:每个存在megacorp索引下
        四:这些索引存储在elasticsearch集群
        
        /index/type/{id}
                    _search
    使用query DSL查询
        domain-specific language: JSON request body:

        GET /megacorp/employee/_search 
        {
            "query": {
                must : {
                    "match" : {
                        "last_name" : "Smith"
                    }
                },
                "filter" : {
                    "range" : {
                        "age" : { "gt" : 30 }
                    }
                }
            }
        }


    全词搜索:

        GET /megacorp/employee/_search
        JSON数据:
            {
                query: {
                    must: {
                        "about": "rock climbing"
                    }
                }
            }


    elasticsearch的按照相似度分数排序结果;
    关键词:相似度
    
    短语搜索:

        GET /megacorp/employee/_search
        {
            "aggs": {
                "all_interests: {
                    "terms": {"field" : "interests"}
                }
            }
        }


    关键词:match_phrase
        
    分析:

        GET /megacorp/employee/_search
        {
            "aggs": {
                "all_interests: {
                    "terms": {"field" : "interests"}
                }
            }
        }


        
        对特定人选的兴趣聚合

        GET /megacorp/employee/_search
            {
                
                "query" : {
                    "must" : {
                        "last_name" : "smith"
                    }
                },
                "aggs": {
                    "all_interests" : {
                        "field" : "interests"
                    }
                }
            }


        求出平均年龄
 

/GET /megacorp/employee/_search 
		{
			"aggs" : {
				"all_interests": {
					"terms": {"field": "interests"},
					"aggs": {
						"avg_age": {
							"avg" : {"field": "age"}
						}
					}
				}
			}
		}
		
		
	
	
	
	

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值