【问题标题】:Elastic search - Locate matched word line no in paragraph弹性搜索 - 在段落中找到匹配的单词行号
【发布时间】:2020-02-06 23:44:08
【问题描述】:

在我们的应用程序中,我们使用 ElasticSearch 作为搜索引擎。它工作得很好,我们的大部分数据都是文本段落。我们还能够在搜索结果中同样出色地突出关键字。

在我们的网页上,我们仅限于显示匹配结果的前 1000 个字符,因此我们会在 1000 个字符之后修剪数据。

现在的问题是,对于某些结果,关键字突出显示没有出现,因为它变成了冗长的文本并被修剪。

所以我的问题是,ES 是否提供任何选项来告诉我们每个搜索结果的匹配关键字索引?还有其他解决方法或替代方法吗?

如果需要更多信息,请告诉我。

【问题讨论】:

    标签: elasticsearch search solr lucene


    【解决方案1】:

    弹性搜索中没有提供匹配词索引的 api 有一个custom plugin highlighter (plugin)

    您需要将其调整为 7.x

    上面有讨论link供进一步参考

    来自上述讨论链接的示例查询

    {
        "_source": ["content"],
        "query" : {
            "match_phrase" : { "content" : "test keyword" }
        },
        "highlight" : {
            "pre_tags" : ["<b>"],
            "post_tags" : ["</b>"],
            "fields" : {
                "content" : {
                    "fragment_size" : 30, 
                    "number_of_fragments" : 10, 
                    "type": "experimental",
                    "options": {"return_offsets": true}
                }
            },
            "order" : "score"
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-12
      • 2015-08-02
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 2020-09-11
      • 1970-01-01
      相关资源
      最近更新 更多