**ElasticSearch**

  1. 为什么我们要使用ElasticSearch?
    虽然在搜索领域 lucene可以被认为迄今为止最先进、性能最好的、功能最全的搜索引擎库。
    但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene的配置及使用非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。
    实际项目中:我们建立一个网站或应用程序,并要添加搜索功能,令我们受打击的是:搜索工作是很难的。我们希望我们的搜索解决方案要快,我们希望有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON/XML通过HTTP的索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并在需要扩容时方便地扩展到数百,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案、ElasticSearch就能为我们解决这些难题。
  2. ElasticSearch:
    <1>优化了lucene的调用方式、实现了高可用分布式集群搜索方案 ,但是索引库管理依然是基于lucene的开源索引库
    <2>分布式的实时文件存储 每个字段都被索引并可被索引。
    <3>分布式的实时分析搜索引擎
    <4>可以扩展到上百台服务器,处理pb级结构化或非结构化数据
    <5>上手很简单,有开瓶即饮的效果
  3. ElasticSearch的交互方式:
    <1>基于restful api
    这里拓展一下Restful:Restful是一种面向资源架构的风格,使用URL定位资源,用http动词描述操作(get,post,delete,put)描述操作。
    es和所有客户端的交互都是使用json格式的数据,
    <2>curl命令方式
    <3>java api
  4. es为java提供了两内置客户端
    <1>节点客户端:
    以无数据节点身份加入集群,换言之,它自己不会存储数据,但是它知道数据在集群中的位置,能够直接转发请求到对应的节点上。
    <2>传输客户端:
    这个更加轻量级的传输客户端能够发送请求到远程集群,它自己是不加入集群的,只是简单转发请求给集群中的节点。
  5. es数据管理
    什么是es中的文档
    es是面向文档的,这就意味着它可以存储整个对象或者文档。
    ES使用Javascript对象符号(JavaScript Object Notation),也就是JSON,作为文档序列化格式。JSON现在已经被大多语言所支持,而且已经成为NoSQL领域的标准格式。
    ES存储的一个员工文档的格式示例:
    {
    _index : “crm”,
    _type : “user”,
    _id : 1,
    _source : {
    “email”: "nxh@itsource.cn",
    “name”: “倪先华”,
    “info”: {
    “addr”: “四川省成都市”,
    “age”: 30,
    “interests”: [ “美食”, “美女” ]
    },
    “join_date”: “2016-06-01”
    }
    }

    一个文档不只有数据,它还包含元数据,三个必须的元数据节点是:
    在这里插入图片描述
    在这里插入图片描述_index:索引库,类似于关系型数据库里的“数据库”—它是我们存储和索引关联数据的地方。
    _type:在应用中,我们使用对象表示一些“事物”,例如一个用户、一篇博客、一个评论,或者一封邮件。可以是大写或小写,不能包含下划线或逗号。我们将使用 employee 做为类型名。
    _id:与 _index 和 _type 组合时,就可以在ELasticsearch中唯一标识一个文档。当创建一个文档,你可以自定义 _id ,也可以让Elasticsearch帮你自动生成。
    另外还包括:_uid文档唯一标识(_type#_id)
    _source:文档原始数据
    _all:所有字段的连接字符串
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值