有没有办法存储有关Lucene中存储的文档的信息,这样我就不必更新整个文档来更新文档的某些属性?
例如,假设我有一堆文档,并且我想更新一个允许谁每天或更频繁地查看文档的权限列表。是否可以每天更新所有权限,而无需更新所有文档。我可以通过保留添加和删除的确切权限来实现,但我宁愿只能获取权限的结束列表,并使用它,而不是必须跟踪所有权限更改并发布这些文档到Lucene。
答案 0 :(得分:1)
未实施更新单个字段,请参阅this related question。我同意Karussell关于不在Solr中存储权限,这看起来更像是RDBMS的工作。请记住,Lucene索引实际上是扁平结构。
答案 1 :(得分:0)
我认为,您必须更新整个文档,而不仅仅是属性/字段。
对于你的问题,我不会将权限内容存储到lucene / solr中。我会使用数据库来检查用户是否能够查看文档。例如。将角色“admin”,“default”和/或“anonymous”添加到多值字段“role”中的每个文档,然后例如如果用户以管理员身份登录,则按“admin”角色过滤所有查询。