词组检索(phrase search)

上一节介绍了单个单词在field中的检索。但是有时候想要检索包含一个词组或短语的文档。例如,现在已经可以构建一个请求体查询一个包含了词组”rock
climbing“中任意一个或两个无序的单词的员工信息。

如果要精确检索词组可以稍微变化一下match为match_phrase,如下:

GET /megacorp/employee/_search
{
    "query":{
        "match_phrase":{
            "about":"rock climbing"
        }
    }
}

这次,毫无疑问,返回的结果就只有John了

{
   ...
   "hits":{
      "total":      1,
      "max_score":  0.23013961,
      "hits":[
         {
            ...
            "_score":         0.23013961,
            "_source":{
               "first_name":  "John",
               "last_name":   "Smith",
               "age":         25,
               "about":       "I love to go rock climbing",
               "interests":["sports","music"]
            }
         }
      ]
   }
}

原文:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_phrase_search.html

词组检索(phrase search),布布扣,bubuko.com

时间: 2024-11-05 10:26:45

词组检索(phrase search)的相关文章

【Java】Lucene检索引擎详解

基于Java的全文索引/检索引擎——Lucene Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能. Lucene的作者:Lucene的贡献者Doug Cutting是一位资深全文索引/检索专家,曾经是V-Twin搜索引擎(Apple的Copland操作系统的成就之一)的主要开发者,后在Excite担任高级系统架构设计师,目前从事于一些INTERNET底层架构的研究.他贡献出的Lucene的目标是为各

二分检索

二分检索 二分检索(Binary Search)也叫二分查找,是应用于有序表上的一种检索方法.二分检索的思想是:由于序列已经有序,故不需要顺序遍历,每次只需和序列中间位置的元素进行比较即可,以此确定下次查找的位置.显然每次都可以排除一半的元素,很高效. 二分检索伪代码 BinarySearch(Array, key) 1.low=0,high-n-1; 2.while(low<=high) 3.    mid=(low+high)/2; 4.    if(key<array[mid]) 5.

百度地图路线检索(3)

路线的检索: 三种方式:驾车.公交.步行 结合覆盖物展示搜索:驾车路线覆盖物:RouteOverlay ***使用百度地图必须进行的准备工作: 1.初始化: 1).到百度的服务器端检验KEY 创建initManager()方法进行检验的操作: ①.创建百度地图的管理器对象: ②.对管理器对象进行初始化,调用init方法 init(String strKey, MKGeneralListener listener) 参数: strKey:申请的授权验证码 listener:注册回调事件--需要在监

HANA SQL

约束 注释 你可以给你的 SQL 语句添加注释来增加可读性和可维护性. SQL 语句中注释的分隔如下: l  双连字符“--”.所有在双连字符之后直到行尾的内容都被 SQL 解析器认为是注释. l  “/*”和“*/”.这种类型的注释用来注释多行内容.所有在引号符“/*”和关闭符“*/”之间 的文字都会被 SQL 解析器忽略. 标识符 标识符用来表示 SQL 语句中的名字,包括表名.视图名.同义字.列名.索引名.函数名.存储过程名.用户名.角色名等等.有两种类型的标识符:未分隔标识符和分隔标识符

Lucene:基于Java的全文检索引擎简介 (zhuan)

http://www.chedong.com/tech/lucene.html ********************************************** Lucene是一个基于Java的全文索引工具包. 基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史 全文检索的实现:Luene全文索引和数据库索引的比较 中文切分词机制简介:基于词库和自动切分词算法的比较 具体的安装和使用简介:系统结构介绍和演示 Hacking Lucene:简化的查询分析器,删除的

Lucene:基于Java的全文检索引擎简介

Lucene是一个基于Java的全文索引工具包. 基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史 全文检索的实现:Luene全文索引和数据库索引的比较 中文切分词机制简介:基于词库和自动切分词算法的比较 具体的安装和使用简介:系统结构介绍和演示 Hacking Lucene:简化的查询分析器,删除的实现,定制的排序,应用接口的扩展 从Lucene我们还可以学到什么 另外,如果是在选择全文引擎,现在也许是试试 Sphinx的时候了:相比Lucene速度更快, 有中文分词的

Elasticsearch学习之多种查询方式

1. query string search 搜索全部商品:GET /ecommerce/product/_search took:耗费了几毫秒 timed_out:是否超时,这里是没有 _shards:数据拆成了5个分片,所以对于搜索请求,会打到所有的primary shard(或者是它的某个replica shard也可以) hits.total:查询结果的数量,3个document hits.max_score:score的含义,就是document对于一个search的相关度的匹配分数,

简单搜索入门

1.query string search2.query DSL3.query filter4.full-text search5.phrase search6.highlight search*****************************************************************************************1.query string search搜索全部商品:GET /index/type/_search例如: GET /ecom

ElasticSearch 查询语法

把英文翻译成中文,让我觉得很别扭,term,词项 1.query string search 搜索全部商品:GET /ecommerce/product/_search took:耗费了几毫秒timed_out:是否超时,这里是没有_shards:数据拆成了5个分片,所以对于搜索请求,会打到所有的primary shard(或者是它的某个replica shard也可以)hits.total:查询结果的数量,3个documenthits.max_score:score的含义,就是document