0

sphinx の最新バージョン 2.0.4 を使用して、自分のサイト用の検索エンジンを構築しようとしています。これまでのところ、インデックス作成とクエリの送信は機能しています。しかし、いくつかのファセットも表示したいので、同じクエリを 2 回実行します。1 つ目は通常の検索結果用で、2 つ目は特定の属性のグループ化によるものです。私の sphinx.conf は次のようになります。

{
    ...

    sql_query       = \
        SELECT aID AS id, aFullname AS text, 'artist' AS type \
        FROM artist

    sql_attr_string     = type

    sql_ranged_throttle = 0
    sql_query_info      = SELECT * FROM artist WHERE aID=$id
}


source src2
{
    ...

    sql_query       = \
        SELECT album_id AS id, album_name AS text, 'album' AS type \
        FROM albums

    sql_attr_string     = type

    sql_ranged_throttle = 0
    sql_query_info      = SELECT * FROM albums WHERE album_id=$id
}


index rt
{
    type              = rt
    path              = /var/data/rt

    rt_field          = text

        rt_attr_uint      = id
    rt_attr_string    = type
}

しかし、2番目のクエリを使用しているとき

$cl->SetGroupBy('type', SPH_GROUPBY_ATTR, '@count desc' );

次のエラーが表示されます。

WARNING: index rt: group-by attribute 'type' not found

誰でも私の設定のエラーを見つけることができますか?

4

1 に答える 1

0

全体的な推測で

rt_attr_uint      = id

奇妙に見えます。idというカスタム属性を使用できるかどうかわからない。そのdocument_idの名前-特別に処理されます。名前を変更してみてください。

于 2012-03-04T00:05:02.450 に答える