用語で検索するときにフィールドを除外するように Elasticsearch に指示するにはどうすればよいですか?
ユーザーのインデックス (名前、電子メール、資格、経験、オフィスなど) がありますが、資格によってユーザーを検索できるのは特定の人だけです。私の現在の PHP Lucene 実装では、そのデータがある場合とない場合の 2 つの個別のインデックスがあります。1 つのユーザー インデックスだけでこれを行う方法はありますか? ある種のフィルター[1] [2]を適用する必要があると思いますが、フィールドを完全に無視できるフィルターはありません。
Elastica (PHP クライアント)でこれを行う具体的な方法があれば、それはさらに役立ちますが、ネイティブ ES も同様に役立ちます。
インデックスに 2 人のユーザーがいるとします
ケビン・スミス マフィン作りの資格を取得
マーク スミス バイク ジャンプの認定を受けています。
通常のユーザーがオートバイを検索した場合は何も返されませんが、スミスを検索した場合は両方が返されます。
認証フィールドを検索できるユーザーは、motorcycle を検索すると Mark を返し、Smith を検索すると両方を返します。