すべての特殊文字をバックスラッシュでエスケープします。中括弧は完全なトークンを定義するため、部分文字列検索では機能しません。例: %{ello}% はトークン「Hello」と一致しません
エスケープされたスペース文字は検索トークンに含まれるため、検索文字列 '%stay\ near\ me%' はリテラル文字列 "stay near me" として扱われ、'near' 演算子は呼び出されません。
短い文字列(名前など)を索引付けしていて、Oracle Textがlike演算子とまったく同じように動作するようにする場合は、個々の単語のトークンを作成しない独自のレクサーを作成する必要があります。(残念ながら、CATSEARCH は部分文字列検索をサポートしていません...)
検索を変更して、トークン マッチングを使用して oracle テキストのセマンティクスを使用することはおそらく良い考えですが、一部のアプリケーションでは、複数の (短い) トークンと数値トークンのワイルドカード展開により、ユーザーが合理的に検索文字列に対してあまりにも多くのヒットが作成されます。動作することを期待します。
たとえば、「%I\ AM\ NUMBER\ 9%」の検索は、「I」で終わり「9」で始まるすべてのトークンを検索する必要があるため、索引付けされたデータに多数の数値トークンがある場合、ほとんどの場合失敗します。結果が返される前にマージされます。
「I」と「AM」はおそらくデフォルトのストップリストにもあり、完全に無視されるため、この架空のアプリケーションでは、これらのトークンが重要な場合は null ストップリストを使用できます。