ElasticSearch 基础 2
================================== 高级查询 =========================== ========== 子条件查询 =========== _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的更多相关文章
- ELK(elasticsearch+kibana+logstash)搜索引擎(二): elasticsearch基础教程
1.elasticsearch的结构 首先elasticsearch目前的结构为 /index/type/id id对应的就是存储的文档ID,elasticsearch一般将数据以JSON格式存储. ...
- Elasticsearch 基础入门
原文地址:Elasticsearch 基础入门 博客地址:http://www.extlight.com 一.什么是 ElasticSearch ElasticSearch是一个基于 Lucene 的 ...
- ElasticSearch 基础 1
ElasticSearch 基础=============================== 索引创建 ========================== 1. RESTFUL APIAPI 基本 ...
- Elasticsearch基础但非常有用的功能之二:模板
文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484584&idx=1&sn=accfb65 ...
- 最完整的Elasticsearch 基础教程
翻译:潘飞(tinylambda@gmail.com) 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT) Ela ...
- ELK 之一:ElasticSearch 基础和集群搭建
一:需求及基础: 场景: 1.开发人员不能登录线上服务器查看详细日志 2.各个系统都有日志,日志数据分散难以查找 3.日志数据量大,查询速度慢,或者数据不够实时 4.一个调用会涉及到多个系统,难以在这 ...
- Elasticsearch基础教程
Reference: http://blog.csdn.net/cnweike/article/details/33736429 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概 ...
- elasticsearch基础概念
接近实时(NRT) Elasticsearch是一个接近实时的搜索平台.这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒). 集群(clu ...
- Elasticsearch基础知识分享
1. Elasticsearch背景介绍 Elasticsearch 是一个基于 Lucene 的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口.Elast ...
- Elasticsearch基础教程分享
基础及相关资料 首先我们先了解一下什么是Elastisearch,Elasticsearch(简称es)是一个基于Lucene库的搜索引擎.它提供了一个分布式.支持多租户的全文搜索引擎,具有HTTP ...
随机推荐
- H5微信授权登录
这里介绍H5微信授权登录,采用了微信公众号授权原理,是oauth2的登录授权方式,简单的来讲,就是用户通过手机微信确认登录之后,微信方会返回一个授权码code给回第三方(接入方),这个授权码code一 ...
- PAT Basic 1037 在霍格沃茨找零钱 (20 分)
如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易.”现在,给定 ...
- 关于 const char *ptr,char const *ptr,char *const ptr 的讨论
对于每个做C/C++的伙伴来说,面试中少不了关于const 的考察,尤其是对于刚毕业的新人. 今天听见同事在讨论这个问题,就随手写一下自己的理解.希望对大家又所帮助. 首先来说一下char *ptr: ...
- 通过jenkins给gitlab某代码路径打tag的方式
1.构建后设置里的git publisher插件 https://blog.csdn.net/workdsz/article/details/77931812 2.通过gitlab api接口来 ht ...
- django之logo日志的配置和使用
一:为什么使用日志 假如,在项目调试过程中,在某些地方加上了print()函数,输出了一些调试信息.在项目上线的时候,不要将调试信息暴露出去,但是调试信息还要用,该怎么办?项目测试运行在远端服务器上, ...
- Python---TKinter项目实战---屏保
### 项目分析 - 屏保可以自己启动,也可以手动启动 - 一旦敲击键盘或者移动鼠标后,或者其他的引发时间,则停止 - 如果屏保是一幅画的话,则没有画框 - 图像的动作是随机的,具有随机性,可能包括颜 ...
- 【NOIP2016提高A组8.12】总结
惨败!!!! 第一题是一道神奇的期望问题. 第二题,发现"如果两个部门可以直接或间接地相互传递消息(即能按照上述方法将信息由X传递到Y,同时能由Y传递到X),我们就可以忽略它们之间的花费&q ...
- 【leetcode】Preimage Size of Factorial Zeroes Function
题目如下: 解题思路:<编程之美>中有一个章节是不要被阶乘吓倒,里面讲述了“问题一:给定一个整数N,那么N的阶乘末尾有多少个0呢?例如N = 10, N! = 362800,N! 的末尾有 ...
- vue引入css和js的方法
1.引入js的话 require('地址') imgport xxx from ‘src’ import xxx 2.引入css @import ‘ ’
- SQL Server参数优化
内存参数: 此处为512G物理内存,一般来说设置为物理内存80%左右,设置过大资源不会自动释放,内存可能会持续增长:设置过小资源浪费. CPU参数: 最大工作线程数: 此处为4个CPU40核,调整后物 ...