elasticsearch基本查询三(英文分词)match查询

#match查询
#match query知道分词器的存在,会对filed进行分词操作, 然后再查询
GET /ib3/user/_search 
{ "query":{ "match":{ "name": "zhaoliu" }}
}
GET /lib3/user/_search 
{ "query":{ "match":{ "age": 20}}
}
#match_all:查询所有文档
GET /ib3/user/_search
{ "query":{"match_all":{}}
}
#multi_match:可以指定多个字段
GET /ib3/user/_search 
{ "query":{ "multi_match": { "query": "Ilyou", "fields": ["interests" ,"name"]}}
}
#match_ phrase:短语匹配查询
#ElasticSearch引擎首先分析(analyze) 查询字符串,
#从分析后的文本中构建短语查询,
#这意味着必须匹配短语中的所有分词,
#并且保证各个分词的相对位置不变:
GET lib3/user/_search 
{ "query":{"match_phrase":{"interests": "duanlian, shuoxiangsheng" }}
}

term查询试试,没有找到,因为term是不知道分词的,会对    "name": "zhaoliu zhaoming"  当成一个关键字,索引这个关键字在倒排索引是没有的,所以没有找到

 

 terms查询同样不知道分词(在倒排索引中   "name": "zhaoliu zhaoming"   会被看成一个关键字,在倒排索引是不存在这个索引的)而且terms是数组查询,不支持单个字符串查询的

#match query知道分词器的存在,会对filed进行分词操作, 然后再查询    #match指定单个字段条件查询

GET /lib3/user/_search
{"query":{"match":{"name": "zhaoliu zhaoming"}}
}
{"took" : 38,"timed_out" : false,"_shards" : {"total" : 5,"successful" : 5,"skipped" : 0,"failed" : 0},"hits" : {"total" : 2,"max_score" : 0.6931472,"hits" : [{"_index" : "lib3","_type" : "user","_id" : "2","_score" : 0.6931472,"_source" : {"name" : "zhaoming","address" : "bei jing hai dian qu qing he zhen","age" : 20,"birthday" : "1998-10-12","interests" : "xi huan hejiu, duanlian, changge"}},{"_index" : "lib3","_type" : "user","_id" : "1","_score" : 0.2876821,"_source" : {"name" : "zhaoliu","address" : "hei long jiang sheng tie ling shi","age" : 50,"birthday" : "1970-12-12","interests" : "xi buan hejiu, duanlian, lvyou"}}]}
}

我们在看下匹配度的问题

GET /lib3/user/_search
{"query":{"match":{"interests": "duanlian changge"}}
}
{"took" : 8,"timed_out" : false,"_shards" : {"total" : 5,"successful" : 5,"skipped" : 0,"failed" : 0},"hits" : {"total" : 4,"max_score" : 1.3862944,"hits" : [{"_index" : "lib3","_type" : "user","_id" : "2","_score" : 1.3862944,"_source" : {"name" : "zhaoming","address" : "bei jing hai dian qu qing he zhen","age" : 20,"birthday" : "1998-10-12","interests" : "xi huan hejiu, duanlian, changge"}},{"_index" : "lib3","_type" : "user","_id" : "3","_score" : 0.5753642,"_source" : {"name" : "lisi","address" : "bei jing hai dian qu qing he zhen","age" : 23,"birthday" : "1998-10-12","interests" : "xi huan hejiu,duanlian, changge"}},{"_index" : "lib3","_type" : "user","_id" : "5","_score" : 0.2876821,"_source" : {"name" : "zhangsan","address" : "bei jing chao yang qu","age" : 29,"birthday" : "1988-10-12","interests" : "xi huan tingyinyue , changge , tiaowu"}},{"_index" : "lib3","_type" : "user","_id" : "1","_score" : 0.2876821,"_source" : {"name" : "zhaoliu","address" : "hei long jiang sheng tie ling shi","age" : 50,"birthday" : "1970-12-12","interests" : "xi buan hejiu, duanlian, lvyou"}}]}
}
#查询user索引下年龄20的文档
GET /lib3/user/_search
{"query":{"match":{"age": 20}}
}
#查询索引user下的所有文档
GET /lib3/user/_search
{"query":{"match_all":{}}
}

#multi_match:可以指定多个字段条件查询

#multi_match指定多个字段条件查询
#只要指定字段条件中含有changge的这个关键字都会被查询出来
#那么含有changge也会被检索到
GET /lib3/user/_search
{"query" :{"multi_match": {"query": "changge","fields": ["interests" , "name"]}}
}

#短语匹配  match_phrase

#短语匹配,在interests这个字段中含有完全一样的短语就会被查询出来
GET lib3/user/_search
{"query":{"match_phrase":{"interests": "duanlian, changge"}}
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

solr 3.5 配置及应用(二)

在 solr 3.5 配置及应用(一) 讲过一了 solr 3.5的详细配置,本节我们讲利用solr 的客户端调用solr的应用了! 一、利用SolrJ操作solr API 使用SolrJ操作Solr会比利用httpClient来操作Solr要简单。SolrJ是封装了httpClient方法,来操作solr的API的…

elasticsearch控制返回字段查询三(英文分词)match查询

#_source指定查询返回的字段信息 #_source指定查询返回的字段信息 GET /lib3/user/_search {"from":0, "size": 2, "_source": ["address" , "name"] ,"query": {"match": {"interests": &…

通过日志恢复MSSQL数据例子

这段时间看了关于在SQL server 中通过日志和时间点来恢复数据。也看了一些网上的例子,看如何通过日志来恢复数据。 前提条件: 数据库的故障恢复改为非简单模式,去掉自动关闭和自动收缩两个选项 如果是简单模式: 类似下面的语…

ElasticSearch通配符 * 查询(英文检索)

#如果你要查询的字段信息记得不太清楚, 我们也可以使用通配符 * GET /lib3/user/_search {"from":0, "size": 2,"_source": {"includes": "addr*","excludes": ["name" , "bir*"]},"…

(转)CDN是如何工作的?

转载自:CDN是如何工作的? CDN是互联网中使用较频繁的一种技术。你也许常听人说:“我们的网站使用了CDN技术”,但可能他们对CDN的了解并不多,也许只局限于--用了以后网站访问速度会变快。 其实,CDN的原理非常…

机器学习笔记(十七)——EM算法的推导

一、Jensen 不等式 在EM算法的推导过程中,用到了数学上的Jensen不等式,这里先来介绍一下。 若Ω是有限集合{x1,x2,…,xn}{x1,x2,…,xn},而μ是Ω上的正规计数测度,则不等式的一般形式可以简单地用和式表示: φ(∑i1ng(xi)λi)≤…

基本查询(Query查询中文)

查询语句: GET /lib4/user/_search {"query": {"term": {"interests":"唱歌"}} }#terms:查询某个字段里含有多个关键词的文档 GET /lib4/user/_search {"query":{"terms":{"interests": …

C#实现POST提交方式

网页自动登录和提交POST信息的核心就是分析网页的源代码(HTML),在C#中,可以用来提取网页HTML的组件比较多,常用的用WebBrowser、WebClient、HttpWebRequest这三个。 以下就分别用这三种方法来实现: 1、WebB…

EasyCode.Net代码生成器使用心得

前段时间购买了一个EasyCode的正式使用许可 看他的界面设计的不错 就用他生成了一个项目(目地是想把以前我自己的一个程序的界面给更换下 人家有专业的UI设计我自己设计出来的肯定没有人家专业UI设计师弄出来的好看) ,项目生成完了 发现还不能直接更换界面他的是sq…

系统管理员必须知道的PHP安全实践

系统管理员必须知道的PHP安全实践 PHP是一种开源服务器端脚本语言,应用很广泛。Apache web服务器提供了这种便利:通过HTTP或HTTPS协议, 访问文件和内容。配置不当的服务器端脚本语言会带来各种各样的问题。所以,使用PHP时要小心。…

ElasticSearch filter查询

学习查询之前,我还是老规矩,先准备数据 #Filter查询 #filter是不计算相关性的,同时可以cache.因此,filter速度要快于query. POST /lib5/items/_bulk {"index":{"_id": 1}} {"price": 40,"ite…

SQL Server 2005中的分区表(四):删除(合并)一个分区

在前面我们介绍过如何创建和使用一个分区表,并举了一个例子,将不 同年份的数据放在不同的物理分区表里。具体的分区方式为: 第1个小表:2010-1-1以前的数据(不包含2010-1-1)。 第2个小表:2010-1-…

畅通您的iOS开发之路

随着大家对苹果产品的趋之若鹜,iphone与ipad软件开发的前景也相当广阔。然而,目前精通iOS开发的专业人才却是凤毛麟角。因此,安博中 程在2012年推出重磅课程——“iPhone与iPad开发实战之路——精通iOS开发”高级培训班,为想从事i…

tool vmmap 配置符号文件 symbolic file

转载于:https://www.cnblogs.com/titer1/archive/2012/03/21/2410316.html

使用简单的5个步骤设置 Web服务器集群

通过在多个处理器之间分担工作负载并采用多种软件恢复技术,能够提供高度可用的环境并提高环境的总体 RAS(可靠性、可用性和可服务性)。可以得到的好处包括:更快地从意外中断中恢复运行,以及将意外中断对终端用户的影响…

浅谈HotSpot逃逸分析

JIT 即时编译(Just-in-time Compilation,JIT)是一种通过在运行时将字节码翻译为机器码,从而改善字节码编译语言性能的技术。在HotSpot实现中有多种选择:C1、C2和C1C2,分别对应client、server和分层编译。 …

pku 1611 The Suspects 并查集的应用

http://poj.org/problem?id1611 思路&#xff1a;统计出和0能够联系在一起的点&#xff0c;然后输出其个数 View Code #include <cstdio>#include <iostream>#define maxn 30004using namespace std;int f[maxn],num[maxn];//num记录与0有联系的个数int n,m;int …

ElasticSearch 聚合查询

价格总和&#xff1a; 1,使用aggs 2,自己起个名字price_of_sum 3,求和sum 4&#xff0c;filed要求和的字段 GET /lib5/items/_search {"aggs": {"price_of_sum": {"sum": {"field": "price"}}} }聚合查询结果&#x…

hdu Candy Sharing Game

http://acm.hdu.edu.cn/showproblem.php?pid1034 模拟题 View Code 1 #include<iostream> 2 using namespace std; 3 int a[100000]; 4 int b[100000];//a的一半 5 int n; 6 int main() 7 { 8 while(cin>>n && n) 9 {10 int i;11 …

对DataTable的一些解释

最经做导入导出Excel时&#xff0c;经常操作DataTable&#xff0c;DataSet&#xff0c;就按自己的需求对他们的一些常用的东西进行了一下总结。 一、DataTable简介 (1)构造函数 DataTable() 不带参数初始化DataTable 类的新实例。 DataTable(string …