gpt4 book ai didi

vespa - 处理过的 token 如何存储在 Vespa 的基本索引中?

转载 作者:行者123 更新时间:2023-12-04 01:58:17 30 4
gpt4 key购买 nike

在处理看起来像这样的搜索定义时

search music{
document music{
field title type string {
indexing: summary | attribute | index
}
}
}

如果我通过开发文档处理器使用我的自定义字符串标记逻辑(我将处理过的标记保存在处理的上下文中),如何将标记存储在基本索引中?以及如何将它们映射回字段的原始内容,同时召回特定查询?我们通过ProcessingEndPoint解决吗?如果是,如何?

最佳答案

首先,您几乎肯定应该删除该字段的“属性”——“属性”意味着除了创建用于搜索的索引之外,文本还将存储在内存中的前向存储中。这可能对用于排序、分组和排名的结构化数据有用,但对自由文本字段没有用。

不必要的细节:

您可以通过添加文档处理器组件来执行您自己的文档处理:http://docs.vespa.ai/documentation/docproc-development.html .用于索引的 token 信息存储为索引器使用的文本上的注释:http://docs.vespa.ai/documentation/annotations.html在 Vespa 中执行此操作的代码(由文档处理器调用)是 https://github.com/vespa-engine/vespa/blob/master/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/linguistics/LinguisticsAnnotator.java , 它添加的注释在索引期间被消耗为 https://github.com/vespa-engine/vespa/blob/master/document/src/main/java/com/yahoo/document/annotation/AnnotationTypes.java .您还需要在搜索器中的查询端执行相同的标记化:http://docs.vespa.ai/documentation/searcher-development.html

但是,有一种简单得多的方法可以做到这一点:您可以插入自己的分词器,如下所述:http://docs.vespa.ai/documentation/linguistics.html :创建您自己的组件子类 SimpleLinguistics 并覆盖 getTokenizer 以返回您的实现。这将由 Vespa 根据需要在文档处理和查询端执行。

这样做的原因通常是为英语以外的其他语言提供语言学。如果您这样做,请考虑将您的语言学代码提供回 Vespa。

关于vespa - 处理过的 token 如何存储在 Vespa 的基本索引中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49126654/

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