0

localhost (wamp) に sphinx search をインストールしました。たとえば、1 つの単純な html テーブルに結果を表示したいと考えています。私はphpでsphinx検索に接続しようとしましたが、それはできたと思いますが、結果を印刷すると0でした....しかし、そうではありませんでした。クエリ部分に検索したい単語を入れる必要があることを本当に理解していませんか? コマンドウィンドウで検索してみましたが、うまく機能していますが、Webページに表示する方法がわかりません。そして、私はmysqlを使いたいです。したがって、私のPHPは次のよ​​うになります。

require ( "sphinx/api/sphinxapi.php" );
$s = new SphinxClient;
$s->setServer("localhost", 9306);
$s->setMatchMode(SPH_MATCH_ANY);
$s->setMaxQueryTime(3);

$result = $s->query("test");

var_dump($result);

これが私のミニconfファイルです:

source src1
{
    type            = mysql

    sql_host        = localhost
    sql_user        = root
    sql_pass        =
    sql_db          = test
    sql_port        = 3306  # optional, default is 3306

    sql_query       = \
        SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \
        FROM documents

    sql_attr_uint       = group_id
    sql_attr_timestamp  = date_added

    sql_query_info      = SELECT * FROM documents WHERE id=$id
}


index test1
{
    source          = src1
    path            = C:/wamp/www/sphinx/data/test1
    docinfo         = extern
    charset_type        = sbcs
}

indexer
{
    mem_limit       = 32M
}


searchd
{
    listen          = 9312
    listen          = 9306:mysql41
    log         = C:/wamp/www/sphinx/log/searchd.log
    query_log       = C:/wamp/www/sphinx/log/query.log
    read_timeout        = 5
    max_children        = 30
    pid_file        = C:/wamp/www/sphinx/log/searchd.pid
    max_matches     = 1000
    seamless_rotate     = 1
    preopen_indexes     = 1
    unlink_old      = 1
    workers         = threads # for RT to work
    binlog_path     = C:/wamp/www/sphinx/data
}
4

2 に答える 2

1

$s->setServer("localhost", 9306);

それがmysqlプロトコルポートです - sphinxQL.

設定ファイルには、sphinxAPI プロトコルを使用して 9312 でリッスンする sphinx があります。したがって、 setServer 行を変更して 9312 を使用します

于 2013-04-05T11:02:40.653 に答える