java - Lucene 和访问控制(评论的可见性)

标签 java security full-text-search lucene hibernate-search

想象一下全文搜索的这个简单场景:带评论的文章。我也想通过评论中的文字搜索文章。仅此一项就相当容易实现。

但并非所有评论都对所有用户可见。撰写评论的用户还可以限制其对具体角色的可见性(因此评论有 2 个字段:文本和角色)。

是否可以限制对文章的 lucene 搜索,使其仅在当前用户可见的评论中查找(comment.role 在当前用户的角色集中)?

如果是这样,请指出正确的方向,我应该如何着手编写这样的查询(最好)或 lucene 过滤器。

(我正在通过 hibernate-search 使用 lucene,但应该没什么区别)

最佳答案

根据docs ,您可以将您感兴趣的角色作为查询中的另一个字段。在您的示例中,这样的事情应该有效:

text:"user query" AND role:"userRole"

关于java - Lucene 和访问控制(评论的可见性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1093817/

相关文章:

java - (Android) 如何获取智能手机的屏幕宽度和高度?

java - 如何使用 Spring 测试具有 @PostConstruct 方法的类的构造函数?

java - 如果您将当前对象的 Graphics2D 传递给另一个对象,它会在当前对象上绘制吗?

c# - 帮助 CredEnumerate

bool 模式下的mysql全文索引搜索与基于相似的搜索联合

mysql - MATCH (field1, field2) 和 MATCH(field1) OR MATCH(field2) 之间的区别

Java - 阻止 GSON 创建一个额外的线程

javascript - 谁能告诉我这些黑客试图在我的网站上做什么?

php - 电子商务安全检查表

MYSQL 5.7.17 全文搜索