A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【郑州校区】ElasticSearch 基本操作入门
推荐书籍 :
《Elasticsearch服务器开发(第2版).pdf 》
《Elasticsearch权威指南(中文版).pdf》
全文检索: 针对文本中每个词,创建词条建立索引,进行搜索。
ElasticSearch 操作服务器上的数据,通过 Rest API 操作数据
    Elasticsearch可以作为一个独立的单个搜索服务器。不过,为了能够处理大型数据集,实现容错和高可用性,Elasticsearch可以运行在许多互相合作的服务器上。这些服务器称为集群(cluster),形成集群的每个服务器称为节点(node)。
        如果操作Elasticsearch上数据,访问提供Rest API的URL地址,传递json数据给服务器
1.1. ElasticSearch 基础 数据架构的主要概念  
图解
        索引对象(blob): 存储数据的表结构 ,任何搜索数据,存放在索引对象上 。
        映射(mapping): 数据如何存放到索引对象上,需要有一个映射配置, 包括:数据类型、是否存储、是否分词 … 等。
        文档(document): 一条数据记录, 存在索引对象上
        文档类型(type): 一个索引对象 存放多种类型数据,数据用文档类型进行标识  
【后续编程】:  
第一步:建立索引对象
第二步:建立映射
第三步:存储数据【文档】
第四步:指定文档类型进行搜索数据【文档】

1.2. Elasticsearch与Mysql对比
Elasticsearch 集群可以包含多个索引(Index),每个索引可以包含多个类型(Type),每个类型可以包含多个文档(Document),每个文档可以包含多个字段(Field)。以下是 MySQL 和 Elasticsearch 的术语类比图,帮助理解:
就像使用 MySQL 必须指定 Database 一样,要使用 Elasticsearch 首先需要创建 Index:
client.indices.create({index : 'blog'});
这样就创建了一个名为 blog的 Index。Type 不用单独创建,在创建 Mapping 时指定就可以。Mapping 用来定义 Document 中每个字段的类型,即所使用的 analyzer、是否索引等属性,非常关键等。创建 Mapping 的代码示例如下:
[AppleScript] 纯文本查看 复制代码
client.indices.putMapping({
    index : 'blog',
    type : 'article',
    body : {
        article: {
            properties: {
                id: {
                    type: 'string',
                    analyzer: 'ik',
                    search_analyzer: 'ik',
                },
                title: {
                    type: 'string',
                    analyzer: 'ik',
                    search_analyzer: 'ik',
                },
                content: {
                    type: 'string',
                    analyzer: 'ik',
                    search_analyzer: 'ik',
                }
            }
        }
    }
});
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马