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

elasticsearch / lucene高亮

蒲勇
2023-03-14
问题内容

我正在使用ElasticSearch索引文档。

我的映射是:

"mongodocid": {
  "boost": 1.0,
  "store": "yes",
  "type": "string"
},
"fulltext": {
  "boost": 1.0,
  "index": "analyzed",
  "store": "yes",
  "type": "string",
  "term_vector": "with_positions_offsets"
}

为了突出显示全文,我将其设置number_of_framgments为0。

如果我执行以下类似于Lucene的字符串查询:

{
  "highlight": {
    "pre_tags": "<b>",
    "fields": {
      "fulltext": {
        "number_of_fragments": 0
      }
    },
    "post_tags": "</b>"
  },
  "query": {
    "query_string": {
      "query": "fulltext:test"
    }
  },
  "size": 100
}

对于结果集中的某些文档,突出显示的全文的长度小于全文本身的长度。由于我将值设置number_of_fragments为0和pre_tags/
post_tags,所以不会发生这种情况。

现在出现奇怪的行为:如果我仅通过执行以下操作搜索失败的元素之一:

{
  "highlight": {
    "pre_tags": "<b>",
    "fields": {
      "fulltext": {
        "number_of_fragments": 0
      }
    },
    "post_tags": "</b>"
  },
  "query": {
    "query_string": {
      "query": "fulltext:test AND mongodocid:4d0a861c2ebef6032c00b1ec"
    }
  },
  "size": 100
}

然后一切正常。

有任何想法吗?


问题答案:

听起来像在0.14.0中已解决的问题(请参阅#479)。在编写0.14.0时尚未发布,您可以尝试使用master吗?



 类似资料:
  • 问题内容: 我知道ElasticSearch是基于Apache Lucene构建的,但是我想知道两者之间的显着差异。 问题答案: Lucene是一个 Java库 。您可以将其包含在项目中,并使用函数调用来引用其功能。 Elasticsearch是一个 JSON 基于, 分布式 , 网络服务器 建在Lucene的。尽管是Lucene在做下面的实际工作,但是Elasticsearch为我们提供了一个在

  • 我知道ElasticSearch是基于Apache Lucene构建的,但我想知道两者之间的显著差异。

  • 问题内容: 我对ES官方文档中的以下配额有一个疑问: 如果服务器具有80G内存,则发出以下命令以启动ES节点: 这意味着我只给ES进程提供最大30g内存。Lucene如何使用剩余的50G,因为Lucene在ES流程中运行,所以这只是流程的一部分。 问题答案: 该参数仅指示您为ES Java进程分配了多少 堆 。但是,将RAM分配给堆并不是使用服务器上可用内存的唯一方法。 Lucene确实在ES进程

  • 我知道Elasticsearch为每个索引创建一个数个的碎片,每个碎片都是它自己的Lucene索引。但是有多少Lucene的真实实例是由ElasticSearch启动和维护的呢? 是否每个节点有一个Lucene实例,这意味着该实例每个节点处理Lucene索引?

  • 问题内容: 当我将分析器与Edgengram(最小= 3,最大= 7,前面)+ term_vector = with_positions_offsets一起使用时 使用具有text =“ CouchDB”的文档 当我搜索“ couc”时 我的重点是“ cou”而不是“ couc” 看来我的重点只是在最小匹配令牌“ cou”上,而我希望是在精确令牌(如果可能)上或至少在找到的最长令牌上。 无需使用t

  • 我可以使用Lucene查询ElasticSearch索引吗? 我使用ElasticSearch创建了一个索引,并插入了以下三个文档: null 不幸的是,d.get(“_source”)也返回null。 如何检索匹配查询的文档字段? 谢谢你。