================================== 高级查询 ===========================

========== 子条件查询 ===========

_score: 标记匹配程度, 旨在判断目标文档和查询条件匹配的有多好

POST http://127.0.0.1:9200/book/_search
{
"query": {
"match": {
"title": "ElasticSearch入门"
}
}
}
模糊匹配: 会把包含ElasticSearch和入门的关键词的文档数据都查询出来
{
"query": {
"match_phrase": {
"title": "ElasticSearch入门"
}
}
}
习语匹配: 精准查询
{
"query": {
"multi_match": {
"query": "瓦力",
"fileds": ["author", "title"]
}
}
}
multi_match: 多字段模糊匹配查询
author和title: 只要包含瓦力就查询出来 =========== 语法查询 =============
{
"query": {
"query_string": {
"query": "ElasticSearch AND 大法"
}
}
} query_string: 代表语法查询
query: 指定查询内容
查询出同时含有ElasticSearch和大法
{
"query": {
"query_string": {
"query": "(ElasticSearch AND 大法) OR Python"
}
}
}
查询出同时含有ElasticSearch和大法, 或者含有Python的文档
{
"query": {
"query_string": {
"query": "瓦力 OR ElasticSearch",
"fields": ["title", "author"]
}
}
}
利用query_string 查询多个字段
title或者author 包含瓦力或者ElasticSearch 去不查询出来 =========== 结构化查询 =============
{
"query": {
"term": {
"word_count": 1000
}
}
}
term: 具体项
查询出word_count为1000 的文档
{
"query": {
"range": {
"word_count": {
"gte": 1000,
"lte": 2000
}
}
}
}
range: 范围查询
查询出word_count大于等于1000小于等于2000的文档数据
日期也可以比较大小 可以用now关键词 ============= filter 查询 ============ 只判断文档是否满足条件 只有yes活着no
{
"query": {
"bool": {
"filter": {
"term": {
"word_count": 1000
}
}
}
}
}
word_count为1000的文档才会返回
filter: 过滤, es会对结果进行缓存,相对query较快,需要结合bool来使用 ============= 复合条件查询 结合query和filter ============== ============= 固定分数查询 =========
POST http://127.0.0.1:9200/_search
{
"query": {
"match":{
"title":"ElasticSearch"
}
}
}
_score:分数不一样 es回个模糊匹配一个分数 {
"query": {
"constant_score":{
"filter":{
"match":{
"title": "ElasticSearch"
}
}
}
}
}
constant_score: 固定分数查询
刚刚的书籍都出来了, 但是_score都是1
{
"query": {
"constant_score":{
"filter":{
"match":{
"title": "ElasticSearch"
}
},
"boost": 2
}
}
}
boost:指定分数为2, es会做一下缓存 固定分数查询: 不支持match 支持filter ====== bool 查询 ======
{
"query":{
"bool":{
"should": [
{
"match":{
"author": "瓦力"
} },
{
"match":{
"title": "ElasticSearch"
}
}
]
}
}
} should:应当满足,者的关系,只要满足其中一个就可以
{
"query":{
"bool":{
"must": [
{
"match":{
"author": "瓦力"
} },
{
"match":{
"title": "ElasticSearch"
}
}
]
}
}
} must: 必须同时满足才返回
must_not: 排除 {
"query":{
"bool":{
"must": [
{
"match":{
"author": "瓦力"
} },
{
"match":{
"title": "ElasticSearch"
}
}
],
"filter":[
{
"term":{
"word_count": 1000
}
}
]
}
}
}
must filter 综合运用

ElasticSearch 基础 2的更多相关文章

  1. ELK(elasticsearch+kibana+logstash)搜索引擎(二): elasticsearch基础教程

    1.elasticsearch的结构 首先elasticsearch目前的结构为 /index/type/id  id对应的就是存储的文档ID,elasticsearch一般将数据以JSON格式存储. ...

  2. Elasticsearch 基础入门

    原文地址:Elasticsearch 基础入门 博客地址:http://www.extlight.com 一.什么是 ElasticSearch ElasticSearch是一个基于 Lucene 的 ...

  3. ElasticSearch 基础 1

    ElasticSearch 基础=============================== 索引创建 ========================== 1. RESTFUL APIAPI 基本 ...

  4. Elasticsearch基础但非常有用的功能之二:模板

    文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484584&idx=1&sn=accfb65 ...

  5. 最完整的Elasticsearch 基础教程

    翻译:潘飞(tinylambda@gmail.com) 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT)        Ela ...

  6. ELK 之一:ElasticSearch 基础和集群搭建

    一:需求及基础: 场景: 1.开发人员不能登录线上服务器查看详细日志 2.各个系统都有日志,日志数据分散难以查找 3.日志数据量大,查询速度慢,或者数据不够实时 4.一个调用会涉及到多个系统,难以在这 ...

  7. Elasticsearch基础教程

    Reference: http://blog.csdn.net/cnweike/article/details/33736429 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概 ...

  8. elasticsearch基础概念

    接近实时(NRT)        Elasticsearch是一个接近实时的搜索平台.这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒).           集群(clu ...

  9. Elasticsearch基础知识分享

    1. Elasticsearch背景介绍 Elasticsearch 是一个基于 Lucene 的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口.Elast ...

  10. Elasticsearch基础教程分享

    基础及相关资料 首先我们先了解一下什么是Elastisearch,Elasticsearch(简称es)是一个基于Lucene库的搜索引擎.它提供了一个分布式.支持多租户的全文搜索引擎,具有HTTP  ...

随机推荐

  1. 10年前文章_eclipse下perl环境搭建

    eclipse下perl环境搭建1.Eclipse下安装perl插件Help -Software Updates…- Available .- Add Site… :http://e-p-i-c ...

  2. [lean scala]|How to create a SBT project with Intellij IDEA

    this article show you how to create a SBT project with IDEA. prerequisite: 1.JDK8 2.Scala 2.11.8 3.I ...

  3. iOS各别版本new Date().getTime 获取时间戳为null问题

    正常逻辑 new Date('2019-9-8').getTime() 注意日期格式 yyyy--mm-dd 因为yyyy/mm/dd也有兼容性问题 但是各别iOS版本不支持 // IOS 获取时间戳 ...

  4. SweetAler弹框插件与分页器插件

    目录 SweetAlert插件 自定义分页器 使用Django向数据库批量插入数据 自定义分页器的思路 自定义分页器组件 SweetAlert插件 sweetalert是一款基于Bootstrap的专 ...

  5. Pytorch详解NLLLoss和CrossEntropyLoss

    是什么? https://www.cnblogs.com/marsggbo/p/10401215.html 具体pytorch怎么运算的 https://blog.csdn.net/qq_222102 ...

  6. 【leetcode】1129. Shortest Path with Alternating Colors

    题目如下: Consider a directed graph, with nodes labelled 0, 1, ..., n-1.  In this graph, each edge is ei ...

  7. 开发 .swan 文件

    这部分是每个智能小程序页面的展现模板,类似于 Web 开发中的 HTML ,SWAN 模板中使用的标签均为 SWAN 组件规定的标签. <view s-for="item in ite ...

  8. CSS——小三角带边框带阴影

    乍一看,很简单,做小三角,首先想到的是利用border的transparent特性,可以制作出小三角的效果.但是注意,这个小三角本身就是边框制作出来的.怎么能在小三角的外边再加一层小边框呢.那就必须再 ...

  9. php服务器环境安装及项目搭建

    2安装运行环境及搭建项目2.1安装apache及测试1)安装apacheyum install httpd 启动apache systemctl start httpd.service 查看运行状态 ...

  10. 180128-----Java面试题

    1 不用第三个变量,交换两个的值 a=1;b=2;a=a+b;b=a-b;a=a-b; 2 Java动态代理用什么实现? 反射