gpt4 book ai didi

elasticsearch - 如何使ElasticSearch仅产生字段的前几个单词?

转载 作者:行者123 更新时间:2023-12-02 23:12:35 24 4
gpt4 key购买 nike

我正在使用ElasticSearch查询一组相当长的文档。每个文档(除其他外)具有标题,URL和正文。

向用户展示结果时,我只想展示每个文档的“摘要”(以及标题和URL)。但是,只返回整个主体以在客户端进行修剪似乎很浪费。

las,我没有专门的“抽象” Realm 或类似 Realm 。因此,我想知道:是否有一种方法可以使ElasticSearch在每次匹配中仅产生“body”字段的开头(例如前200个字)?我查看了source filtering(我已经在查询中使用了它),但这似乎只是选择/取消选择响应的各个字段。我正在寻找一种方法来转换返回的数据。

最佳答案

看来Script Fields是解决此问题的一种方法。这是一个示例查询,该查询获取每个文档的titleuri和一个脚本化(!)abstract字段。 abstract由实际content字段的前200个字母组成:

{
"query": {
"match": {
"title": "Scripting"
},
},
"_source": ["title", "uri"],
"script_fields": {
"abstract": {
"script": {
"lang": "painless",
"source": "params['_source'].content.substring(0, 200)"
}
}
}
}

关于elasticsearch - 如何使ElasticSearch仅产生字段的前几个单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58690512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com