C# 在具有关联角色的文档中搜索
我有一个巨大的文本文档数据库(sql server)(到目前为止大约500GB)。我对它们进行全文搜索 为此,我想使用solr/elastic搜索 但是,文本文档与组织中的角色相关联,即:经理文档或老板文档。人们的角色也会时不时地发生变化 为此目的编写sql查询没有问题 我想不出在Solr/elastic搜索中也能做到这一点C# 在具有关联角色的文档中搜索,c#,sql-server,search,solr,
elasticsearch,C#,Sql Server,Search,Solr,
elasticsearch,我有一个巨大的文本文档数据库(sql server)(到目前为止大约500GB)。我对它们进行全文搜索 为此,我想使用solr/elastic搜索 但是,文本文档与组织中的角色相关联,即:经理文档或老板文档。人们的角色也会时不时地发生变化 为此目的编写sql查询没有问题 我想不出在Solr/elastic搜索中也能做到这一点 你将如何解决这个问题 关于这个主题有一篇很好的博文。它展示了如何实现PostFilter接口,在这里,您可以执行Java提供的任何操作来检查文档是否被访问。这适用于某些远程
你将如何解决这个问题 关于这个主题有一篇很好的博文。它展示了如何实现PostFilter接口,在这里,您可以执行Java提供的任何操作来检查文档是否被访问。这适用于某些远程系统保存访问信息的情况,如公司LDAP
但正如作者所指出的 需要注意的是,PostFilter是实现文档过滤的最后手段。不要让解决方案变得比需要的更复杂。通常情况下,甚至访问控制过滤也可以使用普通的ol搜索技术来实现,方法是将允许的用户和组索引到文档上,并使用lucene(或其他)查询解析器来实现。只有当规则太复杂或需要外部信息时,自定义后过滤器才有意义 这意味着:是否可以向保存访问信息的文档中添加字段?差不多
然后在搜索时,可以添加到查询中
q=some+cool+query&fq=owner:username+OR+team:user's team name+OR+role:role1