SOLR 权限/根据访问权限过滤结果

2024-04-09

例如,我有文档 A、B、C。用户 1 必须只能看到文档 A、B。用户 2 必须只能看到文档 C。是否可以在 SOLR 中执行此操作而不通过元数据进行过滤?如果我使用元数据过滤器,每次访问权限发生变化时,我都必须重新索引。

[2012 年 2 月 14 日更新] 不幸的是,就客户而言,变化是频繁的。数据是保密的,通常仅由内部用户的所有者管理。那么具体的情况是他们需要能够将这些文档共享给某些外部用户并指定这些用户的访问级别。大多数时候,这是一项临时任务,不会提前确定


我建议将访问角色(是的,它的复数)存储为文档元数据。这里是必填字段access_roles是可分面的多值字符串字段。

Doc1: access_roles:[user_jane, manager_vienna] // Jane and the Vienna branch manager may see it
Doc2: access_roles:[user_john, manager_vienna, special_team] // Jane, the Vienna branch manager and a member of special team may see it

拥有该文档的用户是default该文档的访问角色。

要更改文档的访问角色,您可以编辑access_roles.


当 Jane 搜索时,访问角色她属于将成为查询的一部分。 Solr 将仅检索与用户访问角色匹配的文档。

当简(user_jane),维也纳办事处经理(manager_vienna)搜索,她的搜索如下:

q=mainquery
&fq=access_roles:user_jane
&fq=access_roles:manager_vienna
&facet=on
&facet.field=access_roles

它获取包含以下内容的所有文档user_jane OR manager_vienna in access_roles; Doc1 and Doc2.

当鲍勃 (user_bob),特别小组成员(specia_team)搜索,

q=mainquery
&fq=access_roles:user_bob
&fq=access_roles:special_team
&facet=on
&facet.field=access_roles

哪个获取Doc2为了他。

查询改编自http://wiki.apache.org/solr/SimpleFacetParameters#Multi-Select_Faceting_and_LocalParams http://wiki.apache.org/solr/SimpleFacetParameters#Multi-Select_Faceting_and_LocalParams

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SOLR 权限/根据访问权限过滤结果 的相关文章

  • SOLR 不搜索某些字段

    刚刚安装Solr 编辑了schema xml 现在正在尝试对其进行索引并使用一些测试数据进行搜索 在我发送到 Solr 的 XML 文件中 我的字段之一如下所示
  • 在哪里可以找到 Apache Lucene/Solr 的性能基准

    是否有任何针对大型数据集上 Lucene Solr 性能基准的链接 资源 500GB 5TB以上范围的数据集 Thanks Lucene 提交者 Mike McCandless 运行基准 http people apache org mik
  • 在 Solr DataImportHandler 中从 Oracle 日期获取正确时间

    我正在尝试使用 Solr 的 DataImportHandler 从 Oracle DB 中索引一些文档 除了将 Oracle Date 列正确读取到我的文档中之外 一切工作正常 我的 Solr 架构中的字段定义为
  • SolrCloud:无法创建集合、锁定问题

    我一直在尝试实现 SolrCloud 一切正常 直到我尝试创建包含 6 个分片的集合 我的设置如下 5 个虚拟服务器 全部运行 Ubuntu 14 04 由一家公司跨不同数据中心托管 为整体运行 ZooKeeper 3 4 6 的 3 台服
  • 如何从 Solr 查询中获取 tf 和 idf 分数?

    以下 Solr 文档 https cwiki apache org confluence display solr Function Queries https cwiki apache org confluence display sol
  • solr 中的文本字段排序

    我正在使用 solr 3 4 并希望 solr 搜索结果在文本字段上排序 如何实现像 int 自然排序一样对文本字段进行排序 有没有办法在查询时将文本字段转换为int 我的排序字段是字符串类型 我希望它在排序时表现得像 int 字段 我无法
  • LUCENE:搜索与正则表达式匹配的术语

    我需要搜索 lucene 索引中的任何术语 匹配特定的正则表达式 我知道我可以使用TermsComponent在solr中 如果配置如下
  • 另一个日期时间问题

    我目前有一个这种格式的日期 2010 03 03 10 39 18 这是一个TIMESTAMPMySQL 中的字段 我需要为名为 Solr 的搜索引擎提供以下格式的日期 1995 12 31T23 59 59Z 以下是他们网站上有关日期的一
  • yii2 作曲家更新致命错误

    当我更新我的作曲家以添加yii2 solr扩展我的项目时 我遇到如下错误 The yiisoft yii2 composer plugin requires composer plugin api 1 0 0 this WILL break
  • SolrNet:过滤查询时保留 Facet 计数

    当我查询时 我收到以下方面 Field1 Key Best Facet 1 Value 999 Key Best Facet 2 Value 999 Field2 Key Second Best Facet 1 Value 421 Key
  • Solr 中的多值字段排序

    我有一个 Solr 索引 将每个产品的价格存储在多值字段中 我需要按价格对结果集进行排序 其中价格从低到高 从高到低 我尝试对价格进行排序 它显示错误您无法对 multivalued True 字段进行排序 下面是我的 solr XML
  • DataImportHandler 未在 solr admin 中索引 mysql 表

    我正在尝试使用 DataImportHandler 在 solr 中索引 mysql 表 但它似乎没有索引 数据配置 xml
  • Solr 4.0 中的 BaseTokenFilterFactory 去哪儿了?

    用于创建您自己的标记和字符过滤器的 Solr 文档说明如下 http wiki apache org solr AnalyzersTokenizersTokenFilters Specifying an Analyzer in the sc
  • 将solr 1.4索引升级到solr 3.3?

    我有一个使用 apache solr 1 4 构建的现有索引 我想在 3 3 版本中使用这个现有索引 正如您所知 索引格式在 3 x 之后发生了变化 那么如何才能做到这一点呢 我已经使用 Luke 将现有索引 即 1 4 版本 导出为 XM
  • Solr MoreLikeThis 不适用于多个分片?

    我在 SolrCloud 中有 5 个节点集群 每个节点有 2 个分片 Solr版本 6 3 0 现在 当我运行 mlt 查询时 它仅返回每个节点的结果 并且不会将它们分布在所有分片 节点上 即 没有给出任何结果 给出结果 我什至尝试将其指
  • 如何为高流量网络应用程序实现“保存搜索”功能?

    我想知道可以在 eBay 等大型网络应用程序上找到的 保存的搜索 功能 您可以做的就是保存搜索 例如 宾得镜头 50mm 1 4 每当有人出售符合搜索条件的新优质标准快速宾得镜头时 您都会收到通知 对我来说 实现此类功能并不是一件简单的事情
  • 如何使用 Solr 索引 pdf 内容?

    我正在尝试使用 SolrJ 索引一些 pdf 文档 如下所述http wiki apache org solr ContentStreamUpdateRequestExample http wiki apache org solr Cont
  • Solr 过滤查询 - 字符串与整数

    假设我正在尝试查询一堆具有类别的文档 并且我想将查询限制为指定的类别 据我所知 这只是使用 fq 参数 过滤器查询 我想知道将参数设置为整 数而不是字符串或数据通常的情况是否会提高性能 我只是会在右侧犯错 但我想我应该仔细检查一下 以防万一
  • 如何根据特定字段对 solr 查询的前 100 个结果进行排序?

    我想使用特定字段对 solr 的前 100 个文档进行排序 但它对整个结果集进行排序 然后显示结果 以下是我的代码 query1 setQuery Natural Language query1 setStart 0 query1 setR
  • Solr 索引时间提升 VS 查询时间提升?

    问题 1 我们可以只进行查询时间提升 使用 dismax 而不在索引时间提及提升值吗 问题 2 与查询时间提升相比 索引时间提升有何优点 缺点 反之亦然 查询时间和索引时间提升 在索引时 您可以选择提升特定文档 整个文档或仅一个字段 它作为

随机推荐

  • Ionic2 - 原生滚动

    Ionic1 可以使用本机滚动来提高使用此代码的应用程序的性能 ionicConfigProvider scrolling jsScrolling false 我怎样才能在 Ionic2 中做同样的事情 就像你能找到的一样here http
  • 如何在 React JS 中有条件地应用 CSS 类

    我一直在思考如何最好地在 React JS 中有条件地应用 CSS 类 我已经看到了一些答案 但答案并不多 或者它们只是没有我想要的那么详尽 您可以简单地条件类来声明 如下所示 div text div 或者如果你想根据这样的状态切换类 d
  • 什么是“顺序一致的执行,没有数据竞争”?

    In JLS 17 4 5 订单前发生 http docs oracle com javase specs jls se7 html jls 17 html jls 17 4 5 它说 当且仅当所有顺序一致的执行都没有数据争用时 程序才能正
  • dapper 应该使用“using”语句吗?

    我见过有人在做的例子 IDbConnection db new MySqlConnection conn var people db Query
  • 安装 jRebel 插件后,源文件夹在 Netbeans 项目中不可见?

    有一天 我在 Netbeans 7 4 beta 上安装了 jRebel 第二天 我的所有源文件夹和库都从我的项目中消失了 除了 Maven 项目 像这样 源文件夹仍然存在于我的驱动器上 我只需要在我打开的 Netbeans 项目中恢复它们
  • Objective C - 如何将 nsdata 转换为字节数组 [重复]

    这个问题在这里已经有答案了 我正在将 UIImage 转换为 NSData 我想将 NsData 转换为字节数组 并在 json 解析器的帮助下将该字节数组发布到服务器 如果我将以下类型的静态字符串传递给服务器 它会接受并存储 以下只是示例
  • Apache CXF Web 服务上的命名空间问题

    我正在使用 Apache CXF 2 7 3 并遇到了我真的不明白的命名空间问题 我已经尝试对此进行了广泛的搜索 但我发现的大多数结果都是针对不同的行为 问题是调用 Web 服务时 如果参数元素是命名空间限定的 则调用将会失败 消息中的所有
  • Swift:如何禁用函数的整数溢出/下溢陷阱

    我正在将一些旧的 C 代码导入到 swift 项目中 并将其移植为纯 swift 代码 其中一些会进行 加密 其中它会执行类似的操作 let a UInt8 x e g 30 let b a 237 在 C 中 这只是下溢和环绕 这对于这个
  • 扩展 Magento 购物车

    我需要扩展 Magento 购物车以包含商店定位器的额外步骤 我知道我需要覆盖核心 OnePage 控制器 Mage Checkout OnepageController 和块 Mage Checkout Block Onepage 但是在
  • Java持久化问题

    我试图通过 GlassFish 在 EJB 中使用 JPA 来启动并运行一个简单的示例 我有以下内容persistence xml
  • Windows 上的 Cloud-Init 等效项是什么?

    Windows 上的股票引导过程似乎有点缺乏 Linux 具有 cloud init 它将安装软件包 存储文件并根据用户数据运行 bash 脚本 Windows 有 ec2config 但当前不支持在系统 就绪 时运行 cmd 或 powe
  • `checkout -B` 与 `symbolic-ref`

    以下命令等效吗 如果不是 有什么区别 git checkout B a branch and git branch f a branch HEAD git symbolic ref HEAD refs heads a branch 也可以看
  • checkboxGroupInput - 设置最小和最大选择数 - 刻度

    以下是带有复选框组输入的示例代码 library shiny server lt function input output output Selected lt renderText paste input SelecetedVars c
  • 日期自然语言解析器(.NET)?

    我希望能够让用户使用自然语言 例如 下周五 每个工作日 输入日期 包括重复日期 很像以下的例子http todoist com Help timeInsert http todoist com Help timeInsert I found
  • RecyclerView 中的共享元素转换

    我试图在 RecyclerView 上使用共享元素转换 但它似乎不起作用 这是我使用的适配器的一部分makeSceneTransitionAnimation public void onBindViewHolder final BookVi
  • Safari ITP 2.0 存储访问 API - 在 hasStorageAccess 中嵌套 requestStorageAccess 时出现问题 - 非嵌套工作

    我目前正在尝试实现调用存储访问 API 但在将 requestStorageAccess 的调用嵌套在 hasStorageAccess 中时遇到问题 这是代码的概要 它相当标准 requestStorageAccessAndServe l
  • 如何在 Haml 中撤消 Rails 模板生成?

    我在 Rails 项目中安装了一个新的 gem phrasing 它对多个 Haml gem 具有 gem 依赖性 我需要 gem 它为我的项目添加了一些惊人的功能 并且需要安装依赖项 但是现在当我运行rails generate scaf
  • Slick - 更新完整对象或超过 22 列

    我有一张桌子user permissions其中有 46 个权限列以及id and created date 这个表有对应的UserPermissions class class UserPermission val id Long val
  • C# 中 anagram 函数的实现

    可能的重复 有什么简单的方法可以判断单词列表是否是彼此的字谜 https stackoverflow com questions 522112 what is an easy way to tell if a list of words a
  • SOLR 权限/根据访问权限过滤结果

    例如 我有文档 A B C 用户 1 必须只能看到文档 A B 用户 2 必须只能看到文档 C 是否可以在 SOLR 中执行此操作而不通过元数据进行过滤 如果我使用元数据过滤器 每次访问权限发生变化时 我都必须重新索引 2012 年 2 月