2017-01-09 15 views
0

非常に大きなMySqlテーブルに非常に複雑なSphinx .cnfファイルを作成しています。それを効率的にテストするために、小さなテーブルで使用するテスト設定があります。いったん私が期待している動作が得られたら、新しい設定内容を作業設定にコピーしたいと思う。しかし、これを最後にして、オンサイトクエリをローテーションすると、query: “query error: invalid character '|' in field block operator”が返ってきました。これはやや曖昧な質問ですが、何を探すべきかについての提案はありますか?私の設定は非常に大きく、複雑で行ごとに実用的ではありません。スフィンクスフィールドブロック演算子エラー

  • は私が交換したとき、それは
  • を作品configの裏の古い作業configのサイトのクエリに戻り、私はテストスフィンクスとテストサイト上のクエリを実行すると
  • に動作する場合:すべて私が知っているということです作業中の設定config(すべての突然の)での作業設定はそのエラーになります。
+0

私はより多くの詳細が必要になり、診断のいずれかの希望を持っていると思います。別の提案は、別々のファイルに2つのconfigファイルを保存し、それらを 'diff'プログラムと比較することです。 – barryhunter

+0

@barryhunterそれは私の次のステップですが、大きな違いもあります。私はおそらく、クエリ自体がクエリが実行されたときにエラーがスローされた "正常に"回転されたので、クエリ自身のクエリ自体のいくつかの問題を指摘したと思った。 – user3649739

+0

@barryhunter 2つのインデックスは、相違がわからないほど離れています。より大きな問題や手掛かりは、テストインデックスをコピーすると同じクエリで失敗し、同じ方法でテストインデックスをクエリすると失敗しないということです。私はおそらくそれが何を探すかを絞り込む手がかりかもしれないと思った。 – user3649739

答えて

0

あなたのクエリは、このようなことがあり:

@(column1|column2|column3) some search keyword 

だけ置き換えを| 、に:

@(column1,column2,column3) some search keyword 

と同等に:

@(column1,column2,column3) some | search | keyword