首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

弹性搜索查询字符串从搜索评分中排除字段

是指在使用弹性搜索引擎进行查询时,可以通过特定的语法来排除某些字段对搜索结果的评分影响。

在弹性搜索中,每个字段都有一个相关性评分,用于衡量文档与查询的匹配程度。默认情况下,弹性搜索会将查询字符串与所有字段进行匹配,并根据匹配程度对搜索结果进行排序。然而,在某些情况下,我们可能希望排除某些字段对搜索结果的评分影响,以便更精确地控制搜索结果的排序。

为了实现这一目的,可以使用弹性搜索查询字符串的语法来排除字段。具体而言,可以使用减号(-)操作符来排除某个字段。例如,假设我们有一个索引包含了"title"和"description"两个字段,我们希望在搜索时排除"description"字段的评分影响,可以使用以下查询字符串:

代码语言:txt
复制
title:关键词 -description:关键词

上述查询字符串中,通过在"description"字段前添加减号操作符,我们告诉弹性搜索引擎在计算评分时不考虑"description"字段的匹配情况。

弹性搜索查询字符串从搜索评分中排除字段的优势在于可以更精确地控制搜索结果的排序。通过排除某些字段的评分影响,我们可以将更多的注意力放在其他字段上,从而提高搜索结果的准确性和相关性。

这种功能在许多应用场景中都非常有用。例如,在电子商务网站中,我们可能希望在搜索商品时,将标题字段的匹配程度作为主要排序依据,而将描述字段的匹配程度作为次要排序依据。通过排除描述字段的评分影响,我们可以更好地实现这一需求。

腾讯云提供了弹性搜索服务,即腾讯云搜索(Tencent Cloud Search)。腾讯云搜索是一种基于弹性搜索引擎的云端搜索服务,提供了高性能、高可用、易扩展的搜索能力。您可以通过腾讯云搜索来构建和管理自己的搜索引擎,实现全文搜索、关键词匹配等功能。

更多关于腾讯云搜索的信息和产品介绍,请访问腾讯云搜索官方网页:腾讯云搜索

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

sql模糊查询,字段多值模糊查询(字段分割搜索,字符串转行)

对于平时简单的查询,一般使用like就能解决问题。如果字段值不连续,使用like就有点乏力了。 在工作遇到这种业务,特整理如下文章,如果有更高效的解决方案,也望推荐互相学习。...2.如果搜索 ”苹果" 数据,很简单就能搞定:select * from MyTest where name like '%苹果%' ?...4.现在业务大升级,需要查找 “苹果,猕猴” 这种不连续的数据,并且只要符合其中一个字段值,结果集就要包含其中。 对于这种查找,最直接想法:分割字符串,循环遍历去查询。...此业务首先源于数据库 设计如此,生成环境”大量器件编号”通过逗号分隔存放在一个字段,前端参数顺序可变,所以产出此文章,也帮助遇到类似业务的朋友。...参照文章:http://www.cnblogs.com/end/archive/2011/02/17/1957011.html   4.原数据集inner join 字符串结果集,再查询inner join

6K20

深入搜索之结构化搜索

结构化查询的结果总是非是即否,要么存在结果集中,要么不在。不关心文件的相关度或评分,只有文档的包括或排除处理。 1....若想要不进行评分计算,只希望对文档进行包括或排除的计算,所以我们会使用 constant_score 查询以非评分模式来执行 term 查询并以一作为统一评分。...非评分查询任务旨在降低那些将对评分查询计算带来更高成本的文档数量,从而达到快速搜索的目的。 概念上记住非评分计算是首先执行的,这将有助于写出高效又快速的搜索请求。 4....在倒排索引的词项就是采取字典顺序(lexicographically)排列的,这也是字符串范围可以使用这个顺序来确定的原因。 执行效率: 数字和日期字段的索引方式使高效地范围计算成为可能。...处理Null值 null, [] (空数组)和 [null] 所有这些都是无法存于倒排索引。针对这些字段,在ES是什么都不存的。 在查询时,需要进行处理。

2.9K20
  • ElasticSearch权威指南:深入搜索(上)

    在结构化查询,我们得到的结果 总是 非是即否,要么存于集合之中,要么存在集合之外。结构化查询不关心文件的相关度或评分;它简单的对文档包括或排除处理。...只希望对文档进行包括或排除的计算,所以我们会使用 constant_score 查询以非评分模式来执行 term 查询并以一作为统一评分。...非评分查询任务旨在降低那些将对评分查询计算带来更高成本的文档数量,从而达到快速搜索的目的。 概念上记住非评分计算是首先执行的,这将有助于写出高效又快速的搜索请求。...不过即使如此,还是会将一个没有值的字段倒排索引中排除。...7.控制分析 查询只能查找倒排索引表真实存在的项, 所以保证文档在索引时与查询字符串搜索时应用相同的分析过程非常重要,这样查询的项才能够匹配倒排索引的项。

    4.3K31

    Elasticsearch 重要mapping参数详解(三)

    1.1、影响性能的参数 参数 说明 index 默认true,字段是否analyzed,false不分词,不能被查询 enable 默认true,字段是否索引,不索引能减少CPU使用,但是不能搜索 store...index与enable的区别: index为false,不分词但是还是能够通过完全匹配搜索到,并且会影响文档的评分。 enable为false,这个字段就完全不能配搜索,并且不会影响文档的评分。...如果查询是从一个很多的文档检索几个小的字段,就可以将小的字段设置为store来单独存储。 这种方式比_source检索,然后排除掉效率要高一些,因为减少IO操作。...offsets:文档号+词频+位置+偏移量,通常被使用在高亮字段 位置是分词过滤后文档的第几个单词,偏移量包括单词开始的字节和结束的字节,方便反过来文档查询。...,可以给空值设置一个默认字符串

    6.5K02

    ElasticSearch权威指南:深入搜索

    三、 多字段搜索 查询很少是简单一句话的 match 匹配查询。通常我们需要用相同或不同的字符串查询一个或多个字段,也就是说,需要对多个查询语句以及它们相关度评分进行合理的合并。...它的适用场景很多,特别是当需要将不同查询字符串映射到不同字段的时候。问题在于,目前有些用户期望将所有的搜索项堆积到单个字段,并期望应用程序能为他们提供正确的结果。...在 多字符串查询 ,我们为每个字段使用不同的字符串,在本例,我们想使用 单个 字符串在多个字段中进行搜索。...cross_fields 类型首先分析查询字符串并生成一个词列表,然后它从所有字段依次搜索每个词。这种不同的搜索方式很自然的解决了 字段中心式 查询三个问题中的二个。剩下的问题是逆向文档频率不同。...结果集重新评分 在先前的章节 ,我们讨论了而使用邻近查询来调整相关度,而不是使用它将文档结果列表添加或者排除。 一个查询可能会匹配成千上万的结果,但我们的用户很可能只对结果的前几页感兴趣。

    3.2K31

    Elasticsearch-精确查找

    它接受一个字段名以及我们希望查找的数值: { "term" : { "price" : 20 } } 通常当查找一个精确值的时候,我们不希望对查询进行评分计算。...只希望对文档进行包括或排除的计算,所以我们会使用 constant_score 查询以非评分模式来执行 term 查询并以一作为统一评分。...term 查询文本编辑 如本部分开始处提到过的一样 ,使用 term 查询匹配字符串和匹配数字一样容易。...为了避免这种问题,我们需要告诉 Elasticsearch 该字段具有精确值,要将其设置成 not_analyzed 无需分析的。 我们可以在 自定义字段映射 查看它的用法。...非评分查询任务旨在降低那些将对评分查询计算带来更高成本的文档数量,从而达到快速搜索的目的。 概念上记住非评分计算是首先执行的,这将有助于写出高效又快速的搜索请求。

    2.8K100

    Elasticsearch-精确查找

    它接受一个字段名以及我们希望查找的数值: { "term" : { "price" : 20 } } 通常当查找一个精确值的时候,我们不希望对查询进行评分计算。...只希望对文档进行包括或排除的计算,所以我们会使用 constant_score 查询以非评分模式来执行 term 查询并以一作为统一评分。...term 查询文本编辑 如本部分开始处提到过的一样 ,使用 term 查询匹配字符串和匹配数字一样容易。...为了避免这种问题,我们需要告诉 Elasticsearch 该字段具有精确值,要将其设置成 not_analyzed 无需分析的。 我们可以在 自定义字段映射 查看它的用法。...非评分查询任务旨在降低那些将对评分查询计算带来更高成本的文档数量,从而达到快速搜索的目的。 概念上记住非评分计算是首先执行的,这将有助于写出高效又快速的搜索请求。

    65320

    ElasticSearch权威指南:基础入门(

    在 hits 数组每个结果包含文档的 _index 、 _type 、 _id ,加上 _source 字段。这意味着我们可以直接返回的搜索结果中使用整个文档。...轻量搜索 有两种形式的 搜索 API:一种是 “轻量的” 查询字符串 版本,要求在查询字符串传递所有的 参数,另一种是更完整的 请求体 版本,要求使用 JSON 格式和更丰富的查询表达式作为搜索语言。...q=%2Bname%3A(mary+john)+%2Bdate%3A%3E2014-09-10+%2B(aggregations+geo) 之前的例子可以看出,这种 轻量 的查询字符串搜索效果还是挺让人惊喜的...但从 Elasticsearch 2.0 开始,过滤(filters)已经从技术上被排除了,同时所有的查询(queries)拥有变成不评分查询的能力。...filter必须匹配,但它以不评分、过滤模式来进行。这些语句对评分没有贡献,只是根据过滤标准来排除或包含文档。 由于这是我们看到的第一个包含多个查询查询,所以有必要讨论一下相关性得分是如何组合的。

    6K41

    ElasticSearch权威指南:深入搜索(下)

    "prefix": { "postcode": "W1" } } } prefix 查询是一个词级别的底层的查询,它不会在搜索之前分析查询字符串,它假定传入前缀就正是要查找的前缀...} } } 但是只有查询字符串的最后一个词才能当作前缀使用。 在之前的 前缀查询 ,我们警告过使用前缀的风险,即 prefix 查询存在严重的资源消耗问题,短语查询的这种方式也同样如此。...查询时的灵活性通常会以牺牲搜索性能为代价,有时候将这些消耗查询过程中转移到别的地方是有意义的。在实时 web 应用, 100 毫秒可能是一个难以忍受的巨大延迟。...过滤V查询 首先要注意的是filter过滤器代替了 query 查询, 在本例,我们无须使用全文搜索,只想找到city 字段包含Barcelona的所有文档,逻辑用过滤比用查询表达更清晰。...decay:原点 origin 衰减到 scale 所得的评分 _score ,默认值为 0.5 。

    2.6K22

    elasticsearch深入搜索一之近似匹配

    ,它会先把要查询字符串解析成一个terms列表,然后去搜索与所有的terms匹配的document,但是只会保留位置匹配上的 documents。...越近越好 一个短语查询仅仅排除了不包含确切查询短语的文档, 而邻近查询:一个slop大于0的短语查询查询词条的邻近度考虑到最终相关度 _score 。...像在全文搜索的控制精度一样: 如果七个词条中有六个匹配, 那么这个文档对用户而言就已经足够相关了, 但是 match_phrase查询可能会将它排除在外。...search API通过重新评分明确支持该功能。重新评分阶段支持一个代价更高的评分算法--比如phrase查询--只是为了每个分片中获得前K个结果。 然后会根据它们的最新评分重新排序。...可以将unigrams和bigrams都索引到单个字段,但将它们分开保存在能被独立查询字段会更清晰。unigrams字段构成我们搜索的基础部分,而bigrams字段用来提高相关度。 1.

    2.7K51

    学好Elasticsearch系列-Query DSL

    相关度评分:_score 相关度评分用于对搜索结果排序,评分越高则认为其结果和搜索的预期值相关度越高,即越符合搜索预期值,默认情况下评分越高,则结果越靠前。...(wildcards)来包含或排除特定字段。...例如,“best_fields” 类型会指定的字段挑选分数最高的匹配结果计算最终得分,而“most_fields” 类型则会在每个字段中都寻找匹配项并将其分数累加起来。...match_phrase 查询需要字段的单词顺序与查询字符串的单词顺序完全一致。...terms:匹配和搜索词项列表任意项匹配的结果 terms 查询用于匹配指定字段包含一个或多个值的文档。这是一个精确匹配查询,不会像全文查询那样对查询字符串进行分析。

    25110

    学好Elasticsearch系列-Query DSL

    相关度评分:_score 相关度评分用于对搜索结果排序,评分越高则认为其结果和搜索的预期值相关度越高,即越符合搜索预期值,默认情况下评分越高,则结果越靠前。...(wildcards)来包含或排除特定字段。...例如,“best_fields” 类型会指定的字段挑选分数最高的匹配结果计算最终得分,而“most_fields” 类型则会在每个字段中都寻找匹配项并将其分数累加起来。...match_phrase 查询需要字段的单词顺序与查询字符串的单词顺序完全一致。...terms:匹配和搜索词项列表任意项匹配的结果 terms 查询用于匹配指定字段包含一个或多个值的文档。这是一个精确匹配查询,不会像全文查询那样对查询字符串进行分析。

    26940

    快速学习ES6-查询

    3.查询 我们4块来讲查询: 基本查询 _source过滤 结果过滤 高级查询 排序 3.1.基本查询: 基本语法 GET /索引库名/_search { "query":{...有时候这正是我们期望的,但在全文搜索的大多数应用场景下,我们既想包含那些可能相关的文档,同时又排除那些不太相关的。换句话说,我们想要处于中间某种结果。...3.1.3 多字段查询(multi_match) multi_match与match类似,不同的是它可以在多个字段查询 GET /heima/_search { "query":{...我们会在title字段和subtitle字段查询小米这个词 3.1.4 词条匹配(term) term 查询被用于精确值 匹配,这些精确值可能是数字、时间、布尔或者那些未分词的字符串 GET /heima...所有的查询都会影响到文档的评分及排名。

    1K10

    es各种查询

    过滤器很重要,因为它们执行速度非常快,不会计算相关度(直接跳过了整个评分阶段)而且很容易被缓存。我们会在本章后面的 过滤器缓存 讨论过滤器的性能优势,不过现在只要记住:请尽可能多的使用过滤式查询。...使用constant_score查询以非评分模式来执行 term 查询并以一作为统一评分,这样返回的结果的评分全部是1 使用constant_score将term转化为过滤器查询 GET /my_store..."_source":{ "exclude": ["address","age"], //排除字段 "include": ["name","date"] //包含的字段...{ } } } match_phrase 短语匹配查询 类似 match 查询, match_phrase 查询首先将查询字符串解析成一个词项列表,然后对这些词项进行搜索,但只保留那些包含...range 查询同样可以处理字符串字段字符串范围可采用 字典顺序(lexicographically) 或字母顺序(alphabetically)。

    6.8K21

    实战 | Elasticsearch自定义评分的N种方法

    而全文搜索引擎Elasticsearch不仅需要找到匹配的文档,还需根据它们相关度的高低进行排序。 实现相关度排序的核心概念是评分。 _score就是Elasticsearch检索返回的评分。...分数与查询匹配成正比。查询的每个子句都将有助于文档的得分。 3、Elasticsearch 如何计算评分?...布尔查询的每个must,should和must_not元素称为查询子句。 文档满足must或 should条款的标准的程度有助于文档的相关性得分。分数越高,文档就越符合您的搜索条件。...它会影响文档是否包含在结果,但不会影响文档的评分方式。在must_not里还可以显式指定任意过滤器,以基于结构化数据包括或排除文档。 filter:必须 匹配,但它以不评分、过滤模式来进行。...期望评分标准:基于点赞数评分,且最终评分相对平滑。 核心原理:field_value_factor函数使用文档字段来影响得分。

    6.1K31

    什么是es?

    es7版本虽然已废弃,但还在使用 删除文档 DELETE /my_index/_doc/{id} 查询文档 match query match query 用于搜索单个字段,首先会针对查询语句进行解析,..., "name"] } } } term query term 查询用来查找指定字段包含给定单词的文档,term 查询不被解析,只有查询词和文档的词精确匹配才会被搜索到 GET my_index/_...相当于sql的in { "query": { "terms": { "mobile": ["", ""] } } } range query 即范围查询,用于匹配在某一范围内的数值型、日期类型或者字符串字段的文档...must_not 与 must 相反,匹配该选项下的查询条件的文档不会被返回;需要注意的是,must_not 语句不会影响评分,它的作用只是将不相关的文档排除。...filter 和 must 一样,匹配 filter 选项下的查询条件的文档才会被返回,但是 filter 不评分,只起到过滤功能 例子:查询名字包含”强“。

    89920

    springboot第30集:springboot集合问题

    Kibana Kibana 能够可视化 Elasticsearch 的数据并操作。 es在elk生态圈处于核心地位,是开源大规模基于倒排索引的全文搜索分析引擎,他几乎能实时的支持存储搜索分析。..."term": 查询时判断某个document是否包含某个具体的值,不会对被查询的值进行分词查询 "match" 将被查询值进行分词,然后用评分机制(TF/IDF)进行打分 "match_phrase"...当数据库没有对应值时,该属性将被序列化为空字符串而不是null。 请注意,non_empty选项除了将null值排除在外,还会排除字符串、空集合、空数组等。...如果你只想排除null值而保留空字符串,请使用non_null选项。 使用上述配置后,当属性的值为null时,它将被序列化为一个空字符串。如果属性的值为空字符串或空集合,则不会返回该属性。...缺失"指的是在JSON未出现的属性。 non_default: 包含非null和非默认值的属性。"默认值"是指Java对象字段的默认初始化值,例如0、false、空字符串等。

    35520

    Elasticsearch初检索及高级

    match_all 查询类型(代表查询所有的所有),es 可以在 query 组合非常多的查询类型完成复杂查询; 除了 query 参数之外,我们也可以传递其他的参数以改变查询结果,如 sort,...] state或者address包含mill,并且在查询过程,会对于查询条件进行分词。...must:必须达到must 所列举的所有条件 should:应该达到 should 列举的条件,如果达到会增加相关文档的评分,并不会改变查询的结果,如果 query 只有 should 且只有一种匹配规则...它影响文档是否包含在结果, 但不影响文档的评分方式。还可以显式地指定任意过滤器来包含或排除基于结构化数据的文档。 term 和match一样。匹配某个属性的值。...要搜索“text”字段值,请使用匹配。

    1.1K10
    领券