Elasticsearch短语搜索——match_phrase

  找出一个属性中的独立单词是没有问题的,但有时候想要精确匹配一系列单词或者短语 。 比如, 我们想执行这样一个查询,仅匹配同时包含 “rock”  “climbing” ,并且 二者以短语 “rock climbing” 的形式紧挨着的雇员记录。

  为此对 match 查询稍作调整,使用一个叫做 match_phrase 的查询:

curl -XGET ‘localhost:9200/megacorp/employee/_search?pretty‘ -H ‘Content-Type: application/json‘ -d‘
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    }
}
‘

毫无悬念,返回结果仅有 John Smith 的文档。

{
   ...
   "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" ]
            }
         }
      ]
   }
}
时间: 2024-12-30 04:40:08

Elasticsearch短语搜索——match_phrase的相关文章

Elasticsearch - 短语匹配(match_phrase)以及slop参数

短语匹配(Phrase Matching) 就像用于全文搜索的的match查询一样,当你希望寻找邻近的单词时,match_phrase查询可以帮你达到目的. GET /my_index/my_type/_search { "query": { "match_phrase": { "title": "quick brown fox" } } } 和match查询类似,match_phrase查询首先解析查询字符串来产生一个词条列

短语搜索,高亮搜索

接着上节: http://www.cnblogs.com/spectrelb/p/7977051.html 短语搜索 找出一个属性中的独立单词是没有问题的,但有时候想要精确匹配一系列单词或者短语 . 比如, 我们想执行这样一个查询,仅匹配同时包含 "rock" 和 "climbing" ,并且 二者以短语 "rock climbing" 的形式紧挨着的雇员记录. 为此对 match 查询稍作调整,使用一个叫做 match_phrase 的查询 G

短语搜索

短语搜索 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte 总提交:535            测试通过:170 描述 常见文本编辑器的一个功能是搜索,打开一段英文文字,根据一个给定的英文短语,可以搜索得到这个短语在文章中的位置,短语有可能重复出现.现请求出给定的短语在一段文字中出现的最后一个位置.文字中单词从1开始编号,所求的位置为短语第1个单词在这段文字中对应单词的编号. 输入 多行,每行以 # 为结束,第1行为一段英文文字(单词

短语搜索PhraseQuery

package query; import java.io.IOException; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriter; import org.apache

elasticsearch分布式搜索配置文件详解

Elasticsearch是一个开源的分布式实时搜索与分析引擎,支持云服务.它是基于Apache Lucene搜索引擎的类库创建的,提供了全文搜索能力.多语言支持.专门的查询语言.支持地理位置服务.基于上下文的搜索建议.自动完成以及搜索片段(snippet)的能力.Elasticsearch支持RESTful的API,可以使用JSON通过HTTP调用它的各种功能,包括搜索.分析与监控.下面是讲述了elasticsearch分布式搜索配置文件各类参数的具体含义. elasticsearch的con

Elasticsearch 数据搜索篇·【入门级干货】

ES即简单又复杂,你可以快速的实现全文检索,又需要了解复杂的REST API.本篇就通过一些简单的搜索命令,帮助你理解ES的相关应用.虽然不能让你理解ES的原理设计,但是可以帮助你理解ES,探寻更多的特性. 其他相关的内容参考:Elasticsearch官方文档翻译 样例数据 为了更好的使用和理解ES,没有点样例数据还是不好模拟的.这里提供了一份官网上的数据,accounts.json.如果需要的话,也可以去这个网址玩玩,它可以帮助你自定义写随机的JSON数据. 首先开启你的ES,然后执行下面的

Elasticsearch 数据搜索篇·【入门级干货】===转

ES即简单又复杂,你可以快速的实现全文检索,又需要了解复杂的REST API.本篇就通过一些简单的搜索命令,帮助你理解ES的相关应用.虽然不能让你理解ES的原理设计,但是可以帮助你理解ES,探寻更多的特性. 其他相关的内容参考:Elasticsearch官方文档翻译 样例数据 为了更好的使用和理解ES,没有点样例数据还是不好模拟的.这里提供了一份官网上的数据,accounts.json.如果需要的话,也可以去这个网址玩玩,它可以帮助你自定义写随机的JSON数据. 首先开启你的ES,然后执行下面的

[Elasticsearch] 全文搜索 (三) - match查询和bool查询的关系,提升查询子句

match查询是如何使用bool查询的 现在,你也许意识到了使用了match查询的多词查询只是简单地将生成的term查询包含在了一个bool查询中.通过默认的or操作符,每个term查询都以一个k语句被添加,所以至少一个should语句需要被匹配.以下两个查询是等价的: { "match": { "title": "brown fox"} } { "bool": { "should": [ { "

[Elasticsearch] 分布式搜索

分布式搜索 本文翻译自Elasticsearch官方指南的Distributed Search Execution一章. 在继续之前,我们将绕一段路来谈谈在分布式环境中,搜索是怎样运行的.和在分布式文档存储(Distributed Document Store)中讨论的基本CRUD操作相比,这个过程会更加复杂一些. 一个CRUD操作会处理一个文档,该文档有唯一的_index,_type和路由值(Routing Value,它默认情况下就是文档的_id)组合.这意味着我们可以知道该文档被保存在集群