当前位置: 首页 > 面试题库 >

以位置顺序返回Elasticsearch高亮结果吗?

匡晟
2023-03-14
问题内容

我目前正在使用Elasticsearch在查询中提供的突出显示功能。但是,我不太清楚的一件事是关于结果的排序方式。我希望他们order that they appear在段落而不是重要性/得分中返回。这样一来,我就可以按照与...原始文档中相同的顺序将它们与连接在一起(类似于Google结果)。但是,他们目前正在根据最佳匹配以某种加权顺序返回?

有没有一种方法可以完成此操作,而无需在看到突出显示结果之后在现场进行其他后处理。

我看到有"order" : "score"一个突出显示的选项,但是似乎没有其他记录在案的选项可以更改退货顺序。(顺便说一句,我不理解默认顺序和计分顺序之间的区别)。

这是我查询中突出显示的部分。

  "highlight": {
    "fields": {
      "synopsis": {
        "fragment_size": 150,
        "number_of_fragments": 4
      }
    }
  }

问题答案:

因此,在进行了一些尝试之后,我发现fast-vector- highlighter会按照原始文档中出现的顺序对片段进行自然排序。为了实现这一点,我需要添加"term_vector" : "with_positions_offsets"到大纲字段映射中。

{
  "properties" : {
    "synopsis" : {
      "type" : "string",
      "term_vector": "with_positions_offsets"
    }
  }
}

然后使用我的高亮查询:

{
  "query": {
    "match": {
      "synopsis": "foo"
    }
  },
  "highlight": {
    "fields": {
      "synopsis": {
        "type": "fvh",
        "fragment_size": 150,
        "number_of_fragments": 4
      }
    }
  }
}

注意:使用"order" : "score"将导致排序遵循计分模式,而不一定遵循起始位置偏移顺序。我相信可以在这里找到该比较器的确切代码,这似乎是基于片段的增强,然后是其起始偏移量。



 类似资料:
  • 问题内容: 是否可以以预定顺序进行声明,即 选择ID 7,2,5,9和8 并以该顺序返回它们 ,仅基于ID字段? 这两个语句以相同顺序返回它们: 问题答案: 我不认为这是可能的,但是在这里找到了一个博客条目,似乎可以满足您的需求: 将给不同的结果 返回给定第二个参数的位置,因此对于上面的第一种情况,7的位置在集合中的位置1,2的位置在2,依此类推-mysql在内部得出类似 然后按的结果排序。

  • 我使用Elastic5.4,想要查询包含多种类型文档的索引。(类型a和类型b)。下面是索引中的示例文档: 文件: 映射: 我的查询是在任何类型的任何字段中搜索所有包含“John”的文档,并突出显示找到匹配的字段。这个查询是按照弹性文档构造的。我的模式映射将ngram_analyzer配置为分析器,而不是模式中所有字符串类型字段的默认分析器。 如何在结果中返回高亮显示?

  • 我使用了以下映射:我修改了英语分析器来使用ngram分析器,如下所示,这样我应该能够在以下情况下进行搜索:1]部分搜索和特殊字符搜索2]以获得语言分析器的优势 将我的数据索引如下:

  • 本文向大家介绍Elasticsearch实现复合查询高亮结果功能,包括了Elasticsearch实现复合查询高亮结果功能的使用技巧和注意事项,需要的朋友参考一下 一.Es的配置 实现es的全文检索功能的第一步,首先从与es进行连接开始,这里我使用的是es的5.x java api语法. 二.功能的实现 以下是全文检索的核心代码,包括我遇到的错误以及解决,包括如何对高亮失效,高亮不全等的解决. 1

  • 问题内容: 我正在使用ElasticSearch索引文档。 我的映射是: 为了突出显示全文,我将其设置为0。 如果我执行以下类似于Lucene的字符串查询: 对于结果集中的某些文档,突出显示的全文的长度小于全文本身的长度。由于我将值设置为0和/ ,所以不会发生这种情况。 现在出现奇怪的行为:如果我仅通过执行以下操作搜索失败的元素之一: 然后一切正常。 有任何想法吗? 问题答案: 听起来像在0.14

  • 问题内容: 简而言之,当不使用_geo_distance排序时,是否有一种方法可以返回地理距离? 更新:为澄清起见,我希望结果按随机顺序排列并包含距离。 问题答案: 是的,您可以使用脚本字段。 例如,假设您的文档具有一个名为的地理位置字段,则可以使用以下内容: (请注意,只是一个转义的单引号,所以真的是) 如果还希望返回该字段,则可以如下指定: