elasticsearch - elasticsearch:允许发现文档,而无需公开源代码?

标签 elasticsearch

我正在尝试设置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/

相关文章:

elasticsearch - 更改多个文档字段在ES 2.3.3中不起作用

node.js - 通过Node.Js应用程序进行Neo4J文本搜索

java - 向 AWS ElasticSearch 添加 5000 万条记录的最快方法

elasticsearch - _update_by_query不会更新所有匹配的文档

elasticsearch - ES 7.7 加入集群失败,因为超时

string - 在 Elasticsearch 中如何映射由字符分隔的文本?

ruby-on-rails - ElasticSearch Aggregator,按文本/关键字排序

elasticsearch - 从ES中的日期字段获取时间戳

elasticsearch - 在ElasticSearch中进行聚合查询时如何忽略尾随空格

elasticsearch - Elasticsearch中排序后的大小查询的并集