我如何告诉 Elasticsearch 在按术语搜索时排除某个字段?
我有一个用户索引(姓名、电子邮件、认证、经验、办公室...),但只有某些人可以通过认证搜索用户。在我当前的 PHP Lucene 实现中,我有 2 个单独的索引,其中包含和不包含该数据。有没有办法只用一个用户索引来做到这一点?我假设我需要应用某种过滤器[1] [2],但没有看到可以让我完全忽略一个字段的过滤器。
如果有任何专门使用Elastica(PHP 客户端)的方法会更有帮助,但原生 ES 也同样有帮助。
假设我的索引中有 2 个用户
凯文史密斯松饼制作认证
Mark Smith 获得了摩托车跳跃认证。
当普通用户搜索motorcycle时,不应返回任何内容,但如果他们搜索Smith,则应返回两者。
具有搜索认证字段能力的用户在搜索摩托车时将返回 Mark,如果搜索 Smith,则两者都返回。