ユーザーが検索できる一連のテキストドキュメントを含むアプリケーションがあります。すべてのユーザーは、ドキュメントのテキストに基づいて検索できる必要があります。さらに、ユーザーはカスタムタグを定義し、それらをドキュメントに関連付けることができなければなりません。これらのタグは2つの方法で使用されます。
1)ユーザーは特定のタグIDに基づいてドキュメントを検索できる必要があります。2)タグに使用できるファセットが必要です。
私の解決策は、各ドキュメントにMutivaluedフィールドを追加して、このドキュメントがタグ付けされたタグIDを含む配列としてポーズをとることでした。ここまでは順調ですね。テキストとタグID(たとえば、text:hi AND tagIds:56)に基づいてクエリを実行できました。
私の質問は、そのソリューションは、ユーザーがドキュメントにタグを追加するだけでなく、ドキュメントからタグを削除する環境で、本番モードで機能するでしょうか?データをリアルタイムで利用できるようにする必要があるため、ユーザーがタグを削除/追加するたびに、そのドキュメントのインデックスを再作成してすぐにコミットする必要があることを忘れないでください。それが良い解決策ではない場合、代替手段は何でしょうか?