我们正在尝试实现自动完成,这是通过edge-ngram的建议和模糊性实现的。我们具有特定用户的角色,这些角色确定用户是否可以看到文档的特定子集。无论如何,我们可以使用过滤器实现自动完成吗?而且由于不建议使用“上下文建议”,有什么东西可以代替它吗?
我们正在使用Elasticsearch版本:6.4 Java版本:1.8 操作系统版本:Centos 7
场景:我们在索引中有两个文档:
{
"NAME" : "xxxx",
"SUBJECT": "yyy"
},
{
"NAME" : "xxxxxxx",
"SUBJECT": "yxxyy"
}
User1可以访问NAME,而User2可以访问SUBJECT,而USER3可以访问这两者,因此我们从一个看起来像这样的集合中构建了一个集合。该集合将包含所有字段和该字段的值。我们想要获取角色匹配以自动完成的值。
{
"FIELD" : "NAME",
"VALUE": "xxxxxxx",
"ROLES": ["Admin", "Agent"]
},
{
"FIELD" : "NAME",
"VALUE": "xxx",
"ROLES": ["Admin", "Agent"]
}