gpt4 book ai didi

solr - 结果集的数据安全性来自Elastic Search,Solr或

转载 作者:行者123 更新时间:2023-12-02 23:06:27 25 4
gpt4 key购买 nike

我需要在现有数据库中添加全文搜索功能。当然,首先要转向Solr或Elastic Search之类的东西。我需要解决的障碍是-如何安全地显示基础搜索引擎返回的结果(现在考虑一下Solr或Elastic Search,但也可以使用其他任何解决方案或引擎)。

棘手的上下文是,例如,我的系统中有要建立索引的个人资料记录。个人资料中的字段之一是–经理的反馈。通常,在该系统中,该字段仅对员工的直接经理和更高层级可见,即来自另一个分支机构的“经理”将无法看到该字段。但是,我希望可以通过全文搜索来搜索该字段,但仅适用于实际可以看到它的人。

现在,我向Solr查询“愚蠢”(即查询字符串),并返回N个文档。当将其退还给最终用户时,我将删除“经理的反馈”字段,因为最终用户不是指定人员的经理,但是结果集中仅存在文档已经是“愚蠢”家伙的证据……

问题是–处理该用例的可行方法是什么?是否可以使用带有用于输出的本地安全过滤器的Solr / ES插入?

注意事项:

由于上述方案,

  • 仅过滤掉字段不起作用
  • 由于以下原因无法过滤出完整的文档
  • 搜索引擎无法识别匹配的字段,因此无法通过http://elasticsearch-users.115913.n3.nabble.com/Best-way-to-return-which-field-matched-td2713071.html
  • 字段手动过滤结果集
  • 即使这样做确实可行,从结果集中删除文档也会破坏引擎返回的构面(例如,按部门匹配的数量)–我将不得不手动重新计算构面,否则它们将与手动过滤的记录不匹配,并将显示哪些内容我实际上不想向最终用户显示
  • 最佳答案

    在Solr中,您可以创建 multiValued 字段。您可以使用它来存储组织结构的非规范化值。

    在描述的场景中,您将创建多值字段ouId(组织单位ID)并存储员工的ouId和所有父ouId。换句话说,您将允许的ouId保存到该字段中。

    在搜索方案中,您将使用FilterQuery-管理员的ouId过滤fq参数。

    例:

    ..&fq=ouId:12

    其中12是所选经理的组织单位ID。

    关于solr - 结果集的数据安全性来自Elastic Search,Solr或,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9183567/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com