我正在尝试设置elasticsearch,以便它使用户能够发现文档的存在,而无需访问文档本身。例如,想象一个聚集学术文章的站点:它们允许对正文进行全文搜索,但只显示摘要。
我正在尝试建立一个系统,其中不同的用户组可以访问不同的文档,但是每个人都可以访问整个索引。
我在 flex 搜索上设置受限内容搜索的阻力最小的途径是什么?是设置吗?一个插件?写我自己的插件? fork ?
最佳答案
要回答查询的第一部分,
第一种方法:您可以通过此方法禁用返回特定查询的_source
字段。
{
"_source": false,
"query": {
"term": {
"user": "kimchy"
}
}
}
第二种方法:如果您永远不想看到
_source
字段,则可以禁用对其进行存储。{
"tweet": {
"_source": {
"enabled": false
}
}
}
第二部分,您提到了
我没有完全满足您的要求,但是如果您想要简单的身份验证,基于角色的访问控制,那么Shield可能会很有用,以便某些用户无法修改文档,等等。
如果您拥有面向用户的系统,则只需在每个文档中添加访问权限字段并将权限与用户映射即可轻松实现。然后,您可以在搜索文档时使用过滤器。如果您不了解Shield的详细信息,这是万一的情况。
关于elasticsearch - elasticsearch:允许发现文档,而无需公开源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27872637/