スクリプトでは、広告タイトルを lucene インデックスと比較する必要があります。
このインデックスには、いくつかのキーワードと、広告が一致した場合に実行するアクションが含まれています。
例えば:
(keyword,action,new_category,optional)
"red volvo","recategorize","cars","red"
アイデアは、キーワード フィールドに対して広告タイトル全体をクエリする必要があるということです。両方(クエリとインデックス)は、ステミング、小文字化などを備えた独自のアナライザーで分析されます。
私が抱えている問題は、部分一致です。例:
「私は赤い馬を販売しています」は「赤いボルボ」に一致します。
逆の場合 (広告がインデックスに登録されていて、キーワードでクエリを実行する必要がある場合)、次のことができます。
q=+red +volvo
しかし、大量の広告を処理する必要があるため、これはオプションではありません。
具体的な質問ですが、フィールド内のすべてのトークンを強制的にクエリと一致させる方法はありますか?
KeywordAnalyzer を使用して「red volvo」全体を 1 つのトークンと見なすことはできますが、広告タイトル全体を単一のキーワードとして分析することはできません。これは何にも一致しないためです。