1

MySQL 5.6.10 の InnoDB FTS を使用しており、ブール演算子のデフォルトの動作を変更したいと考えています。

注: この機能を実装する際、MySQL は暗黙のブール論理と呼ばれることがあるものを使用します。

[+] は AND を表します

[-] は NOT を表します

[演算子なし] は OR を意味します

私の望ましい行動:

  • [演算子なし] は AND を意味します
  • [|] は OR を表します

ft_boolean_syntax

コマンド ライン形式 --ft_boolean_syntax=name オプション ファイル形式 ft_boolean_syntax 変数名 ft_boolean_syntax 変数のスコープ グローバル動的変数 はい 許可されている値 型 文字列 デフォルト +-><()~*:""& ブール全文でサポートされている演算子のリストIN BOOLEAN MODE を使用して実行される検索。セクション12.9.2「ブール全文検索」を参照してください。

デフォルトの変数値は「+ -><()~*:""&|」です。値を変更するためのルールは次のとおりです。

演算子の機能は、文字列内の位置によって決まります。

置換値は 14 文字にする必要があります。

各文字は、ASCII 英数字以外の文字でなければなりません。

最初または 2 番目の文字はスペースでなければなりません。

11 桁目と 12 桁目のフレーズ引用演算子を除いて、重複は許可されません。これら 2 つの文字は同じである必要はありませんが、同じである可能性があるのはこの 2 つだけです。

位置 10、13、および 14 (デフォルトでは「:」、「&」、および「|」に設定されています) は、将来の拡張用に予約されています。

そこで、ft_boolean_syntax を ' |-><()~*:""&+' に変更しようとしましたが、うまくいきません。OR を意味する特定の演算子はありません。

私は何を間違っていますか?

4

1 に答える 1