Zend Search Lucene を使用しています。ユーザーが検索ボックスに Vibrant Bouquet と入力すると、「Vibrant」または「bouquet」という単語 (または両方) を含む結果が返されます。私が望むのは、これらの結果を両方の単語で返すことだけです。
明らかに、単語の間に AND を入力することでこれを行うことができますが、私が知る限り、Lucene は暗黙的に各単語の間に OR をそのまま挿入します。これを変更して、各単語の間に AND を暗黙的に配置して、検索のデフォルトの動作が 1 つ以上の単語だけでなくすべての単語を検索するようにすることは可能ですか?
検索用語の文字列を置換してスペースを AND に置き換えることでこれを行うことができますが、より複雑なクエリでユーザーが入力するのを止めるという問題が発生する可能性があります。