名前付きエンティティを検索するカスタムTokenizerをSolrで作成しました。この情報を使用して、lucene/solrドキュメント内の個別のフィールドに入力できるようにしたいと思います。
例として、「locations」という複数値のフィールドに、テキストから抽出されたすべての場所の名前を入力します。場所を抽出するには、最初にテキストをトークン化して単語を区切り、どのトークンが場所であるかを判別します。このプロセスの後、トークナイザーのトークンを発行しますが、フィールド「locations」にテキストから抽出されたすべてのロケーション名を入力します。
私が行った調査によると、TokenizerまたはTokenizerFactoryからSolrDocumentオブジェクトにアクセスする方法がないため、ここからフィールドにデータを入力する方法はありません。
私がこれまでに思いついた解決策は、テキストを処理してフィールドを抽出するカスタムUpdateRequestProcessorFactoryを作成し、次にTokenizerがテキストを再度処理してトークンを取得することです。この作業を実行して、テキストを1回だけ処理できる方法を見つけたいと思います。