代码之家  ›  专栏  ›  技术社区  ›  Saqib Ali

为每个最终用户分离solr索引

  •  0
  • Saqib Ali  · 技术社区  · 11 年前

    对于我们的we应用程序,我们希望以某种方式为使用该应用程序的每个用户隔离索引数据(使用solr对上传的数据进行索引)。这可能吗?

    被索引的所有文档的schema.xml和文档结构都是相同的。出于安全考虑,我们只想隔离。

    澄清:我忘了提到solr只能通过网络应用程序访问。最终用户从不直接连接到Solr。

    2 回复  |  直到 11 年前
        1
  •  2
  •   arun    11 年前

    如果每个文档只能由少数用户访问,则可以保留用户ID的多值字段 allowed_user_ids 谁被允许访问该文档。然后通过user_id对其进行过滤查询以限制访问。

    如果您同时拥有公共文档和限制文档,那么您可以保留一个字段,而不是将所有user_id都存储在公共文档中 is_public 并仅对公共文档设置为true。对于受限制的文档,使用上的筛选查询 允许的用户ID .

        2
  •  0
  •   phanin    11 年前

    您可以尝试使用Lucene的搜索空间过滤器功能。它根据提供的条件限制可用于搜索查询的文档集。

    可以通过两种方式构建标准。

    1) 就像任何其他Lucene查询一样: Lucene Filtered Query

    2) 将文档集作为的实例传递给IndexSearcher Filter