Elasticsearch学习入门
一、关于Elasticsearch
1.特点
Elasticsearch基于全文搜索引擎 Apache Lucene ,由Java开发而来,面向API进行搜索, Restful 风格,分布式文件存储。
2.面向文档:
Elasticsearch 将数据以JSON的格式文档的形式;
3.索引:
一个文档就是一个索引,类似数据库中一个数据表;
二、增删查改
一个索引只对应一种类型
增
PUT 索引/类型/文档id
增(自动生成id)
POST 索引/类型
此种方法生成的id
删
DELETE 索引/类型/文档id
查
GET 索引/类型/文档id
GET 索引/类型/_search
_search 为查询关键字
GET 索引/类型/_search?q=userName:liaoge777
查询userName为liaoge777的数据,q为查询参数赋值
_source 对应文档数据;
查询表达式
1.匹配搜索
GET 索引/类型/_search
{
"query": {
"match": {
"userName": "liaoge777"
}
}
}
2.过滤搜索
GET 索引/类型/_search
{
"query": {
"bool": {
"must": {
"match": {
"userName": "lewis"
}
},
"filter": {
"range": {
"age": {"gt": }
}
}
}
}
}
同时匹配用户名为lewis 并且 age 区间是大于26的数据
3.全文搜索(传统数据库难以做到的)
GET 索引/类型/_search
{
"query": {
"match": {
"favorite": "playing games"
}
}
}
分别回去匹配 playing 和 games词汇,并返回符合条件的数据,并使用_score字段表示匹配度
4.短语搜索(严格匹配短语,而不去分割匹配的词汇)
GET 索引/类型/_search
{
"query": {
"match_phrase": {
"favorite": "playing games"
}
}
}
不会分别匹配 playing 和 games,严格匹配字段包含 playing games的数据
5.高亮搜索
GET 索引/类型/_search
{
"query": {
"match_phrase": {
"favorite": "playing games"
}
},
"highlight":{
"fields": {
"favorite": {}
}
}
}
对符合条件的"favorite"字段加上高亮
6.聚合
关键字 aggs 类似SQL中的 Group by ,聚合并得到计数
{
"aggs": {
"all_ages": {
"terms": {
"field": "age"
}
}
}
}
通过"age"字段分组,并得出分组计数结果
_search 为查询所有的关键字;
Elasticsearch学习入门的更多相关文章
- .net Elasticsearch 学习入门笔记
一. es安装相关1.elasticsearch安装 运行http://localhost:9200/2.head插件3.bigdesk插件安装(安装细节百度:windows elasticsear ...
- Elasticsearch学习记录(入门篇)
Elasticsearch学习记录(入门篇) 1. Elasticsearch的请求与结果 请求结构 curl -X<VERB> '<PROTOCOL>://<HOST& ...
- ElasticSearch 学习记录之ES几种常见的聚合操作
ES几种常见的聚合操作 普通聚合 POST /product/_search { "size": 0, "aggs": { "agg_city&quo ...
- ElasticSearch 学习记录之ES短语匹配基本用法
短语匹配 短语匹配故名思意就是对分词后的短语就是匹配,而不是仅仅对单独的单词进行匹配 下面就是根据下面的脚本例子来看整个短语匹配的有哪些作用和优点 GET /my_index/my_type/_sea ...
- ElasticSearch 学习记录之 分布式文档存储往ES中存数据和取数据的原理
分布式文档存储 ES分布式特性 屏蔽了分布式系统的复杂性 集群内的原理 垂直扩容和水平扩容 真正的扩容能力是来自于水平扩容–为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中 ES集群特点 ...
- ElasticSearch 学习记录之如任何设计可扩容的索引结构
扩容设计 扩容的单元 一个分片即一个 Lucene 索引 ,一个 Elasticsearch 索引即一系列分片的集合 一个分片即为 扩容的单元 . 一个最小的索引拥有一个分片. 一个只有一个分片的索引 ...
- ElasticSearch 学习记录之ES高亮搜索
高亮搜索 ES 通过在查询的时候可以在查询之后的字段数据加上html 标签字段,使文档在在web 界面上显示的时候是由颜色或者字体格式的 GET /product/_search { "si ...
- ElasticSearch 学习记录之ES查询添加排序字段和使用missing或existing字段查询
ES添加排序 在默认的情况下,ES 是根据文档的得分score来进行文档额排序的.但是自己可以根据自己的针对一些字段进行排序.就像下面的查询脚本一样.下面的这个查询是根据productid这个值进行排 ...
- ElasticSearch 学习记录之父子结构的查询
父子结构 父亲type属性查询子type 的类型 父子结构的查询,可以通过父亲类型的字段,查询出子类型的索引信息 POST /product/_search { "query": ...
随机推荐
- selenium webdriver 定位元素 第一部分
static final WebDriver driver = ExplorerBase.IESetting(); // 实例化一个浏览器对象 @Test //@Ignore public void ...
- Hibernate笔记二
1.延迟加载(懒加载) 概念 需要用到该数据的时候才要加载 种类 类的延迟加载 案例 说明:注意:使用的是Load方法 1. 执行22行代码的时候,不发出sql语句,说明类的延迟加载和主键没有关系 ...
- 三 Spring和DI(面试)
IOC:控制反转,将对象的创建权反转给了Spring DI:依赖注入,前提要有IOC的环境.Spring管理这个类的时候会将类的依赖的属性,在xml注入(设置)进来. 面向对象的时候,类和类之间的 ...
- 3_03_MSSQL课程_Ado.Net_数据导入
数据库数据导出和导入 思路: --思路: 1.找到文件 2.读取文件 3.第一行 忽略 4.insert using System; using System.Collections.Generic; ...
- 为什么很多 Android 程序喜欢在存储卡根目录建文件夹来存储数据而不是 Android/data 目录下?
知乎回答. http://www.zhihu.com/question/19866689 pansz,欢迎评论 知乎用户.弓长.知乎用户 赞同 这个道理很简单:因为没人管啊.你乱存放文件,在a ...
- SpringSecurity-权限关联与控制
6.3 服务器端方法级权限控制 在服务器端我们可以通过Spring security提供的注解对方法来进行权限控制.Spring Security在方法的权限控制上 支持三种类型的注解,JSR-250 ...
- K8S LoadBalance 私有环境解决方案 == metallb 工具安装和使用介绍
接着上文,排除故障后,我重新配置了metallb组件到k8s环境. metallb为k8s service 的loadbalance负载方式提供免费的解决方案. external-ip的收费方案,可以 ...
- 用Total Commander替换windos默认资源管理器的方法
Total Commander(简称TC)是一个功能强大的资源管理器. TC本身没有自带的替换windows资源管理器的功能,就必须自己动手解决了. 第一步先Google一下看有没有答案.当时搜出了不 ...
- Java-Study
java中static用法: static :静态的,用于修饰成员(成员变量,成员方法): 1. 被static所修饰的变量或者方法会储存在数据共享区: 2. 被static所修饰的成员变量只有一份: ...
- http请求常见的状态码
状态码是开发者需要了解的一项内容,日常开发中浏览器会返回给我们一些状态码,然后我们可以根据状态码所代表的含义进行问题解决. 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 100 ...