一、关于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 为查询所有的关键字;

最新文章

  1. shell 中调用其他的脚本
  2. Android面试总结 (转)
  3. HTTPS-HSTS协议(强制客户端使用HTTPS与服务器创建连接)
  4. Nginx + django windows下配置
  5. Socket和SignalR
  6. Js5中基本类型
  7. 基于visual Studio2013解决C语言竞赛题之0514单词统计
  8. 201521123092《java程序设计》第14周学习总结
  9. C控制语句:分支和跳转
  10. TF-IDF 提取关键词
  11. RT-thread内核对象--事件集
  12. LeetCode算法题-Construct Quad Tree(Java实现)
  13. Docker中如何删除image(镜像)
  14. 第三十五篇-AppBarLayout的使用
  15. 11月26日 用seed,预加载种子文件; Case 条件语句。网址的参数如何传递,; Query--自定义scopes
  16. Android 编程下 Eclipse 恢复被删除的文件
  17. 重磅来袭,开源Asp.Net MVC网上商城BrnShop正式发布,提供源码下载(转)
  18. 如何在Ubuntu上安装gcc-6.3
  19. SpringBoot多数据源配置事务
  20. DCU IP Prefether

热门文章

  1. 自定义 directive pagination
  2. python中的异常处理:厌而不舍
  3. windows系统下hosts文件的改写(为了测试nginx内网的证书代理,需要做域名解析)
  4. Netsparker破解版5.3 Netsparker Enterprise 5.3.0.24388[cracked]
  5. [蓝桥杯2015初赛]生命之树(树状dp)
  6. Spring MVC原理解析
  7. Kubernetes 1.17.2 高可用部署
  8. 定位(left 、right 、top 、 bottom)、padding、margin 值设为百分比值时
  9. Python 基础之推导式
  10. MYSQL--“Row size too large (> 8126)”