0

私はsphinxが初めてで、いくつかの問題に遭遇しました。

$1max_matches = 200 csft.confのsearchdクラスに設定後、呼び出しました

org.sphx.api.test.main(new String[]{"-h", "127.0.0.1","-i", "magnet","-p", "9312", "-l", "100", "keyword"});

Javaのメインメソッドで。返されるエラーは

エラー: searchd エラー: クエリごとの max_matches=1000 が範囲外 (サーバーごとの max_matches=200)

ご覧のとおり、param: を追加しまし-l = 100た。Java でこのエラーを防ぐには、他に何を設定すればよいでしょうか?

$2sortMode = SphinxClient.SPH_SORT_TIME_SEGMENTS検索結果を時間順で表示するために使用したい。私の属性はcsft.confに次のように書かれています:

sql_attr_timestamp=UNIX_TIMESTAMP( upload_time) as dt

Javaコードで属性を設定する方法を誰か教えてもらえますか? Java で文字列を設定しようとしましたsortClauseが、常にAttribute XXX has not been foundと表示されました。

$3SphinxClient人がクエリを実行するたびに SphinxClient インスタンスを作成するのは好きではないため、Java がスレッド セーフかどうかを知りたいです。

前もって感謝します!

4

1 に答える 1

1
  1. 使用しているクラスがhttps://code.google.com/p/sphinxtools/source/browse/trunk/src/org/sphx/test/test.java?r=2 の場合、関数は「argv」を検査することさえありません'。すべての変数をハードコーディングします。setLimits に 3 番目のパラメータとして渡されるものはありません
  2. sql_attr_timestamp単に列名を受け入れ、関数などは受け入れません。関数呼び出しはメインにある必要がありますsql_query
  3. 私のJavaは非常にさびていますが、ノーと言わざるを得ません。あらゆる種類の状態をプライベート変数に格納します。一度にクライアントを使用する複数のスレッドは、それらをクローバーします。
于 2013-11-04T19:53:13.413 に答える