使用query ds进行搜索(search with query dsl)

使用Query-string这种检索方式是方便于命令行的检索,但是他受到了诸多限制(see Search Lite)。ES还提供了一个丰富的,灵活的搜索方式:Query DSL。Query
DSL允许用户构建更复杂而健壮的搜索条件。

DSL(Domain Specific Language)使用JSON作为请求体。使用DSL重新构建上一节的搜索条件如下:

GET /megacorp/employee/_search
{
    "query":{
        "match":{
            "last_name":"smith"
        }
    }
}
curl -XGET ‘http://localhost:9200/megacorp/employee/_search?pretty‘ -d ‘{"query" : {"match" : {"last_name" : "smith"}}}‘

这个搜素将会和上一节返回相同的结果(Q1),可以发现这些搜索语句的结构是发生了变化的,这里不再使用query
string作为参数了,而是使用JSON请求体作为替代,同时使用match这个关键字进行搜索(match是ES中集中查询方式中的一个)。

Q1:

使用curl -XGET
‘http://localhost:9200/megacorp/employee/_search?pretty‘ -d ‘{"query" : {"match"
: {"last_name" : "smith"}}}‘进行查询返回的结果的确是和query
string一样,如果是在浏览器中http://localhost:9200/megacorp/employee/_search?pretty&{"query"
: {"match" : {"last_name" :
"smith"}}}返回的结果就是三条记录,这个是有问题的,如果在HEAD中使用GET返回的是三个记录,使用POST返回的是两条记录。这里是有问题的。暂时无解。

时间: 2024-10-11 05:47:55

使用query ds进行搜索(search with query dsl)的相关文章

ElasticSearch search api的基础语法+Query DSL搜索+filter与query对比+组合查询+定位不合法的搜索

一. search api的基础语法 1.search语法 GET /search{} GET /index1,index2/type1,type2/search{} GET /_search{ "from": 0, "size": 10} 2.http协议中get是否可以带上request body HTTP协议,一般不允许get请求带上request body,但是因为get更加适合描述查询数据的操作,因此还是这么用了 GET /_search?from=0&a

SharePoint 2013 Search Keyword Query Class

原文地址 SharePoint 2013 Search Keyword Query Class 本文由SPFarmer翻译 在过去旧版本的SharePoint中,我已经写过一些关于如何使用搜索的文章,在这些文章当中,如何使用 KeywordQuery类是比较火的(2010和 2007). 发扬这个传统,我很骄傲的发布如何使用KeywordQuery 类的SharePoint 2013版本. 好消息是,你以前的旧代码应该还可以工作,快消失是,这些就得类和方法都被标记为废弃了.事实上,我在大量的文档

lucene搜索方式(query类型)

Lucene有多种搜索方式,可以根据需要选择不同的方式. 1.词条搜索(单个关键字查找) 主要对象是TermQuery 调用方式如下: Term term=new Term(字段名,搜索关键字);Query query=new TermQuery(term);Hits hits=searcher.search(query); 2.组合搜索(允许多个关键字组合搜索) 主要对象是BooleanQuery 调用方式如下: Term term1=new Term(字段名,搜索关键字);TermQuery

leetcode 7. 在有序可重复数组旋转后搜索 Search in Rotated Sorted Array II

Search in Rotated Sorted Array II Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this affect the run-time complexity? How and why? Write a function to determine if a given target is in the array. 解题思路: 本题基于

leetcode 6. 在有序数组旋转后搜索 Search in Rotated Sorted Array

Search in Rotated Sorted Array 难度:Hard Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). You are given a target value to search. If found in the array return its index, otherw

dede自定义搜索search.htm

mid是不同内容模型  不同内容模型可以自定义不同的搜索模板 ------- /templates/default/advancesearch.htm 可以自定义模板页的名称和修改样式

FMX TListView 搜索 Search

FMX,FireMonkey,平台框架下TListView控件搜索.过滤. 查找功能确实强大!! 设置SearchVisibe属性为true,就自动显示搜索框,输入文字,就开始检索了,不用写一行代码!! 类似DataSet的Filter属性 这个输入框的内容不能自己控制,属性不可见,找了段代码,可以控制此搜索框 http://codeverge.com/embarcadero.delphi.firemonkey/xe5-listview-search/1057268 {code} procedu

Python编写SQL注入工具(1)

编写原由:自学了一点SQL注入和Python的知识.虽然,早就有了非常好的注入工具Sqlmap,但自己想写一个自动注入的工具玩玩,写的不好之处,还望不吝指正. 第一部分:注入点测试模块(injectTest.py) #coding=gb2312 import urllib import os import string from re import search class injectTest(): def __init__(self,url=''): self.url=url #待检测网址,

Python 提取Twitter tweets中的元素(包含text, screen names, hashtags)

#!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-1 @author: guaguastd @name: tweets.py ''' import json # import search, see http://blog.csdn.net/guaguastd/article/details/35537781 from search import search # import login, see http://bl