0

コマンドライン検索(26019件/26019件)

search.exe --config c:\sphinx\sphinx.conf keyword

また

search.exe --config c:\sphinx\sphinx.conf keyword -e2

PHP API (合計: 1000 / 見つかった合計: 51038)

//sphinx command line and php api

mysql_connect("localhost", "username", "password");
mysql_select_db("database");

require_once('sphinxapi.php');

$cl = new SphinxClient;
$cl->setServer("127.0.0.1", 9312); // NOT "localhost" under Windows 7!
$cl->setMatchMode(SPH_MATCH_EXTENDED2);
$cl->SetLimits(0, 20);

$result = $cl->Query("keyword");

if ($result['total'] > 0)
{
    echo 'Total: ' . $result['total'] . "<br />\n";
    echo 'Total Found: ' . $result['total_found'] . "<br />\n";
    echo '<table>';
    echo '<tr><td>ID</td><td>Date</td><td>Title</td><td>Content</td></tr>';

    foreach ($result['matches'] as $id => $otherStuff)
    {
        $row = mysql_fetch_array(mysql_query("select * from table where id = $id"));
        extract($row);

        echo "<tr><td>$id</td><td>$date</td><td>$title</td><td>$content</td></tr>";
    }
    echo '</table>';
}
else
{
    echo 'No results found';
}

マッチモード:

SPH_MATCH_ALL / SPH_MATCH_ANY / SPH_MATCH_PHRASE / SPH_MATCH_BOOLEAN / SPH_MATCH_EXTENDED / SPH_MATCH_EXTENDED2

PS: MySQL から直接選択を行ったので、コマンド ラインの結果は正しいものです。

$sql = "SELECT t1.field1, t1.field2, t1.field3, t2.field4
    FROM t_table1 AS t1
    LEFT JOIN t_table2 AS t2 ON t2.id = t1.t2_id WHERE t2.field4 LIKE 'keyword'";
4

3 に答える 3

0

Sphinxは1000件の結果のみを返すように制限されています。

その制限を引き上げる提案がいくつかあったので、彼らのページを確認してください。古いスフィンクスリリースでその数を好きなように変更できることだけに注意してください。ただし、最大で1000が返されます。

于 2012-10-12T16:57:01.897 に答える
0

「search.exe」を見つけたことを忘れてください。それを無視します。本当。気にしないで。今。待ちます。

それでは、検索するインデックスを具体的にしてみてください (Query 関数呼び出しで)。

また、取得するすべての行に対して1回クエリを実行するのは良くありません。すべての結果に対して 1 つの SQL クエリのみを発行する必要があります。mysql IN() 関数を使えば簡単です。

http://www.nearby.org.uk/sphinx/search-example5-withcomments.phps

より基本的だが機能的な例http://www.nearby.org.uk/sphinx/search-example2.phps

于 2012-10-12T16:52:47.843 に答える
0

ここに答えてください:

http://sphinxsearch.com/docs/manual-2.0.5.html#conf-max-matches

同じページで 26019 件の一致を使用する予定がない限り、ページネーションを使用することをお勧めします (結果のみを表示する場合)

于 2012-10-12T17:53:49.580 に答える