# 指定index名以及type名的搜索
GET /library/books/_search?q=title:elasticsearch # 指定index名没有type名的搜索
GET /library/_search?q=title:mongodb # 既没有index名也没有type名的搜索
GET /_search?q=title:elasticsearch #------------------------------------------------
# term查询 # term查询:查询某字段里有某个关键词的文档
GET /library/books/_search
{
"query": {
"term": {
"preview": "elasticsearch"
}
}
} # terms查询:查询某个字段里有多个关键词的文档
# minimum_match:最小匹配集;1 说明两个关键词里最少有一个,2 就说明文档里这两个关键词都得存在
GET /library/books/_search
{
"query": {
"terms": {
"preview": ["elasticsearch","book"],
"minimum_match": 2
}
}
} #------------------------------------------------
# 控制查询返回的数量 # from 和 size
# 相当于mysql里的limit
# from : 从哪个结果开始返回
# size : 定义返回最大的结果数
GET /library/books/_search?q=title:elasticsearch GET /library/books/_search
{
"from":1,
"size":2,
"query": {
"term": {
"title": "elasticsearch"
}
}
} #------------------------------------------------
# # 返回版本号_version GET /library/books/_search
{
"version": true,
"query": {
"term": {
"preview": "elasticsearch"
}
}
} #------------------------------------------------
# match查询 # match查询可接受文字,数字日期等数据类型
# match跟term的区别是,match查询的时候,elasticsearch会根据你给定的字段提供合适的分析器,而term查询不会有分析器分析的过程 GET /library/books/_search
{
"query": {
"match": {
"preview": "elasticsearch"
}
}
} GET /library/books/_search
{
"query": {
"match": {
"price": 11
}
}
} # 通过match_all查询
# 查询指定索引下的所有文档
GET /library/books/_search
{
"query": {
"match_all": {}
}
} # 通过match_phrase查询
# 短语查询,slop定义的是关键词之间隔多少未知单词
GET /library/books/_search
{
"query": {
"match_phrase": {
"preview": {
"query": "Elasticsearch , distributed",
"slop": 2
}
}
}
} # multi_match查询
# 可以指定多个字段
# 比如查询title和preview这两个字段里都包含Elasticsearch关键词的文档
GET /library/books/_search
{
"query": {
"multi_match": {
"query": "Elasticsearch",
"fields": ["title", "preview"]
}
}
} #------------------------------------------------
# # 指定返回的字段
# 注意只能返回store为yes的字段
GET /library/books/_search
{
"fields": ["preview","title"],
"query": {
"match": {
"preview": "elasticsearch"
}
}
} # 通过partial_fields控制加载的字段
GET /library/books/_search
{
"partial_fields": {
"partial": {
"include": ["preview"],
"exclude": ["title,price"]
}
},
"query": {
"match_all": {}
}
} # 还能加通配符 *
GET /library/books/_search
{
"partial_fields": {
"partial": {
"include": ["pr*"],
"exclude": ["tit*"]
}
},
"query": {
"match_all": {}
}
} #------------------------------------------------
# 排序 # 通过sort把结果排序
# desc 降序
# asc 升序
GET /library/books/_search
{
"query": {
"match_all": {}
},
"sort": [
{
"price": {
"order": "desc"
}
}
]
} GET /library/books/_search
{
"query": {
"match_all": {}
},
"sort": [
{
"price": {
"order": "asc"
}
}
]
} #------------------------------------------------
# # prefix 前缀匹配查询
GET /library/books/_search
{
"query": {
"prefix": {
"title": {
"value": "r"
}
}
}
} #------------------------------------------------
# 控制范围 # range 查询:范围查询
# 有from , to , include_lower , include_upper , boost这些参数
# include_lower:是否包含范围的左边界,默认是true
# include_upper:是否包含范围的右边界,默认是true GET /library/books/_search
{
"query": {
"range": {
"publish_date": {
"from" : "2015-01-01",
"to" : "2015-06-30"
}
}
}
} GET /library/books/_search
{
"query": {
"range": {
"price": {
"from" : "",
"to" : "",
"include_lower" : true,
"include_upper" : true
}
}
}
} #------------------------------------------------
# # wildcard查询:允许你使用通配符 * 和 ? 来进行查询
# * 就代表一个或多个字符
# ? 仅代表一个字符
# 注意:这个查询很影响性能
GET /library/books/_search
{
"query": {
"wildcard": {
"preview": "rab*"
}
}
} GET /library/books/_search
{
"query": {
"wildcard": {
"preview": "luc?ne"
}
}
} #------------------------------------------------
# # fuzzy模糊查询
# value : 查询的关键字
# boost : 设置查询的权值,默认是1.0
# min_similarity : 设置匹配的最小相似度 默认值为0.5;对于字符串,取值为0-1(包括0和1);对于数值,取值可能大于1;对于日期型,取值为1d,2d,1m这样,1d就代表一天。
# prefix_length : 指明区分词项的共同前缀长度,默认是0
# max_expansions : 指明查询中的词项可扩展的数目,默认可以无限大。 GET /library/books/_search
{
"query": {
"fuzzy": {
"preview": "rabit"
}
}
} GET /library/books/_search
{
"query": {
"fuzzy": {
"preview" :{
"value": "rabit",
"min_similarity" : 0.5
}
}
}
} # fuzzy_like_this 查询
# 查询得到与给定内容相似的所有文档
# fileds : 字段组,默认是_all
# like_text : 设置关键词
# ignore_tf : 设置忽略词项的频次,默认是false
# max_query_terns : 指明在生成的查询中查询词项的最大数目。默认是25
# min_similarity : 指明区分词项最小的相似度,默认是0.5
# prefix_length : 指明区分词项共同前缀的长度,默认是0
# boost : 设置权值,默认是1.0
# analyze : 指明用于分析给定内容的分析器 GET /library/books/_search
{
"query": {
"fuzzy_like_this": {
"fields": ["preview"],
"like_text": "open source software",
"min_similarity" : 0.5,
"prefix_length" : 0.2
}
}
} # fuzzy_like_this_field 查询
# 只作用在一个字段里
# 其他与fuzzy_like_this功能一样
GET /library/books/_search
{
"query": {
"fuzzy_like_this_field": {
"preview": {
"like_text": "open source software",
"min_similarity" : 0.5,
"prefix_length" : 0.2
}
}
}
} #------------------------------------------------
# more_like_this查询 # fields : 定义字段组,默认是_all
# like_text : 定义要查询的关键词
# percent_terms_to_match : 该参数指明一个文档必须匹配多大比例的词项才被视为相似。默认值是0.3,意思是30%的比例
# min_term_freq : 该参数指明在生成的查询中查询词项的最大数目。默认为25
# stop_words : 该参数指明将被忽略的单词集合
# min_doc_freq : 该参数指明词项应至少在多少个文档中出现才不会被忽略。默认是5
# max_doc_freq : 该参数指明出现词项的最大数目,以避免词项被忽略。默认是无限大
# min_word_len : 该参数指明单个单词的最小长度,低于该值的单词将被忽略,默认值是0
# max_word_len : 指明单个单词的最大长度,高于该值的单词将被忽略,默认是无限大
# boost_terms : 该参数指明提升每个单词的权重时使用的权值。默认是1
# boost : 指明提升一个查询的权值,默认是1.0
# analyer : 指定用于分析的分析器 GET /library/books/_search
{
"query": {
"more_like_this": {
"fields": ["preview"],
"like_text": "Apache open source",
"min_term_freq" : 1,
"min_doc_freq" : 1
}
}
} # more_like_this_field 查询
# 只作用在一个字段里
# 其他与more_like_this功能一样
GET /library/books/_search
{
"query": {
"more_like_this_field": {
"preview": {
"like_text": "Apache open source",
"min_term_freq" : 1,
"min_doc_freq" : 1
}
}
}
}

elastic(10) 基本查询的更多相关文章

  1. 4、Hibenrate中HQL的10中查询方式

    二.具体事例如下: 2.0 编写如下sql语句 )); create sequence seq_teacher; insert into teacher values(seq_teacher.next ...

  2. Hibernate学习10——Hibernate 查询方式

    本章主要是以查询Student的例子: Student.java: package com.cy.model; public class Student { private int id; priva ...

  3. mybatis学习笔记(10)-一对一查询

    mybatis学习笔记(10)-一对一查询 标签: mybatis mybatis学习笔记10-一对一查询 resultType实现 resultMap实现 resultType和resultMap实 ...

  4. MySQL基础之第10章 查询数据

    10.1.基本查询语句 SELECT 属性列表 FROM 表名和视图列表[WHERE条件表达式1][GROUPBY 属性名1 [HAVING条件表达式2]][ORDERBY 属性名2[ASC|DESC ...

  5. NHibernte教程(10)--关联查询

    本节内容 关联查询引入 一对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 关联查询引入 在NHibernate中提供了三种查询方式给我们选择:NH ...

  6. elastic search 常用查询

    1.查询mapping curl -X GET "10.0.38.111:1200/metric_data_bus_2018-08-07/_mapping/data_bus?pretty&q ...

  7. 【sqli-labs】 less54 GET -Challenge -Union -10 queries allowed -Variation1 (GET型 挑战 联合查询 只允许10次查询 变化1)

    尝试的次数只有10次 http://192.168.136.128/sqli-labs-master/Less-54/index.php?id=1' 单引号报错,错误信息没有显示 加注释符页面恢复正常 ...

  8. MongoDB(10)- 查询嵌套文档

    插入测试数据 db.inventory.insertMany( [ { item: "journal", qty: 25, size: { h: 14, w: 21, uom: & ...

  9. MVC5 + EF6 + Bootstrap3 (10) 数据查询页面

    文章来源:Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-search-page.html 系列教程:MVC ...

随机推荐

  1. Javascript鼠标和滚轮事件

    (转自:http://www.cnblogs.com/MrBackKom/archive/2012/06/25/2562920.html) a)鼠标事件 鼠标事件也许是web页面当中最常用到的事件,因 ...

  2. SpringBoot_10_打成jar包后使用外部配置文件中的配置来启动工程

    一.前言 三.参考资料 1.Spring Boot配置文件放在jar外部

  3. LeetCode OJ:Reverse Linked List (反转链表)

    Reverse a singly linked list. 做II之前应该先来做1的,这个倒是很简单,基本上不用考虑什么,简单的链表反转而已: /** * Definition for singly- ...

  4. 如何复制一个java对象(浅克隆与深度克隆)

    在项目中,有时候有一些比较重要的对象经常被当作参数传来传去,和C语言的值传递不同,java语言的传递都是引用传递,在任何一个地方修改了这个对象的值,就会导致这个对象在内存中的值被彻底改变.但是很多时候 ...

  5. linux, windows, mac, ios等平台GCC预编译宏判断

    写跨平台c/c++程序的时候,需要搞清各平台下面的预编译宏,区分各平台代码.而跨平台c/c++编程,GCC基本在各平台都可以使用.整理了一份各平台预编译宏的判断示例. 需要注意几点: * window ...

  6. 给Java新手的一些建议——Java知识点归纳(Java基础部分)

    写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给 ...

  7. ORM版,学生信息管理单表查询..

    mysql 建学生表及课程表 添加内容 view.py from django.shortcuts import render,HttpResponse,redirect from . import ...

  8. PenMount Touch显示鼠标指针驱动安装

    /******************************************************************************* * PenMount Touch显示鼠 ...

  9. (三十六)类数组对象arguments

    类数组对象:arguments 在函数调用时,我们总能见到arguments这个对象,它具体是用来干什么的呢?感觉逼格非常高呢 函数在使用时,我们总会位函数传入各种参数,arguments会将参数储存 ...

  10. LINUX下的ssh登录之后的文件远程copy:scp命令(接前文ssh登录)

    先记录参考: 1:http://www.cnblogs.com/peida/archive/2013/03/15/2960802.html 2:http://www.vpser.net/manage/ ...