gpt4 book ai didi

elasticsearch - 寻找最佳实践来过滤来自 Completion Suggester 的建议

转载 作者:行者123 更新时间:2023-11-29 02:50:07 25 4
gpt4 key购买 nike

我目前正在评估 ElasticSearch 中的 Completion Suggester 功能以实现自动完成。到目前为止,它看起来确实很不错。但是我在权限方面有点挣扎。

假设我有一个酒店索引,就像 ElesticSearch 网站上的示例一样。除了获得与给定短语匹配的酒店外,我还想检查是否允许用户看到“建议”。像酒店之类的东西只为特定的客户服务。我添加了一个新字段来保存组/权限,就像一个用于测试目的的简单字符串。我想要完成的是按组过滤。

映射看起来像这样:

{
"mappings": {
"hotel" : {
"properties" : {
"name" : { "type" : "string" },
"city" : { "type" : "string" },
"group" : { "type" : "string" },
"name_suggest" : {
"type" : "completion",
"payloads" : true
}
}
}
}
}'

以及以下文件:

{
"name" : "Mercure Hotel Munich",
"city" : "Munich",
"group " : "1",
"name_suggest" : "Mercure Hotel Munich"
}'

{
"name" : "Monaco Hotel",
"city" : "Munich",
"group" : "2",
"name_suggest" : "Monaco Hotel"
}'

因此,如果组“1”的用户输入“M”,他应该只会得到“Mercure Hotel Munich”。反之亦然,组“2”的用户正在键入“M”,他应该只会得到“Monaco Hotel”。

我在 Stackoverflow 上看到了一些关于 Completion Suggester + 过滤器的类似帖子,但它们不能一起工作。

老实说,某些文档是针对某些用户的,这并不是一个不寻常的用例。因此,我不想建议任何不允许用户访问的内容。

所以我的问题是:实现此目标的最佳做法是什么?我的意思是考虑即将推出的 ES 版本的性能和可维护性。

https://github.com/elasticsearch/elasticsearch/pull/4044 之前,我们是否应该坚持使用 edgeNGram 解决方案?是集成的?或者是否有使用完成建议器的其他解决方案?

TIA

最佳答案

根据版本 1.2.0,您可以将上下文添加到您的建议器并获得过滤的建议。

Introductory blog post

Full Docs

另见 How can I add filter to Completion Suggester in ElasticSearch?

关于elasticsearch - 寻找最佳实践来过滤来自 Completion Suggester 的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21553965/

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