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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 谷粒姐姐 于 2018-4-3 10:16 编辑

5.1 ElasticSearch 基础 数据架构的主要概念  





图解
  索引对象: 存储数据的表结构 ,任何搜索数据,存放在索引对象上  
映射: 数据如何存放到索引对象上,需要有一个映射配置, 数据类型、是否存储、是否分词 …  
文档: 一条数据记录, 存在索引对象上  
文档类型: 一个索引对象 存放多种类型数据, 数据用文档类型进行标识   
编程:  建立索引对象 --- 建立映射 ---  存储数据【文档】 ---  指定文档类型进行搜索数据【文档】
5.2 新建文档(自动创建索引和映射
1、 需要新建 maven 项目  
2、 基于 maven 的 pom 导入坐标依赖
         ElasticSearch2.4.0 依赖 lucene5.5.2 版本  
当直接在 ElasticSearch 建立文档对象时,如果索引不存在的,默认会自动创建,映射采用默认方式  
         ElasticSearch 服务默认端口 9300  
         Web 管理平台端口 9200  
3、 建立文档, 自动创建索引
自动创建索引  
自动创建索引映射
文档数据 (type 文档类型 )
5.3 搜索文档数据  
查询数据 主要依赖 QueryBuilder 对象 ,可以通过 QueryBuilders 获取  
boolQuery() 布尔查询,可以用来组合多个查询条件  
fuzzyQuery() 相似度查询  matchAllQuery() 查询所有数据  regexpQuery() 正则表达式查询  termQuery() 词条查询  wildcardQuery() 模糊查询  
6 各种查询对象 Query 的使用  
ElasticSearch 支持所有 Lucene 查询,并对其进行简化封装  
         TermQuery 词条查询  
         WildcardQuery 模糊查询
         FuzzyQuery 相似度查询  
         BooleanQuery 布尔查询  
1、 ElasticSearch 提供 QueryBuileders.queryStringQuery(搜索内容) 查询方法,对所有字段进
行分词查询  
2、 只想查询 content 里包含全文 ,使用 wildcardQuery 磨合查询 *任意字符串 ?任意单个字符  
发现查询不到!!!! ,涉及词条查询理解, 说明没有词条包含“全文”
3、 查询 content 词条为“搜索” 内容,使用 TermQuery  
  发现查询不到!!! ,说明没有 “搜索”这个词条  
词条: 就是将文本内容存入搜索服务器,搜索服务器进行分词之后内容  
“ElasticSearch 是一个基于 Lucene 的搜索服务器”
分词(好的): ElasticSearch、是、一个、基于、Lucene、搜索、服务、服务器   默认分词(差): ElasticSearch、 是、一、个、基、于、搜、索
搜索“全面” 能够查询到


0 个回复

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