黑马程序员技术交流社区
标题: 【郑州校区】bos项目笔记之chapter08_系统分析、环境搭建(4) [打印本页]
作者: 谷粒姐姐 时间: 2018-4-3 10:12
标题: 【郑州校区】bos项目笔记之chapter08_系统分析、环境搭建(4)
本帖最后由 谷粒姐姐 于 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、 是、一、个、基、于、搜、索
搜索“全面” 能够查询到
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |