【问题标题】:Sphinx failed to read searchd responseSphinx 无法读取 searchd 响应
【发布时间】:2014-06-13 16:28:42
【问题描述】:

执行以下代码时出现错误。我正在使用带有 PHP 和 MySQL 的 SPhinx。

  require ( "sphinxapi.php" );
  $cl = new SphinxClient();
  $cl->SetServer( "127.0.0.1", 9306 );
  $cl->SetMatchMode( SPH_MATCH_ANY  );
  $cl->SetFilter( 'model', array( 3 ) );

  $result = $cl->Query( 'is', 'the' );



  if ( $result === false ) {
      echo "Query failed: " . $cl->GetLastError() . ".\n";
  }
  else {
      if ( $cl->GetLastWarning() ) {
          echo "WARNING: " . $cl->GetLastWarning() . "";
      }

      if ( ! empty($result["matches"]) ) {
          foreach ( $result["matches"] as $doc => $docinfo ) {
                echo "$doc\n";
          }

          print_r( $result );
      }
  }

  exit;

收到此错误

Deprecated: DEPRECATED: Do not call this method or, even better, use SphinxQL instead of an API in C:\xampp\htdocs\sphinx\sphinxapi.php on line 764
failed to read searchd response (status=2610, ver=11826, len=775040361, read=61).

我正在使用 Wamp 运行 Sphinx。 关于问题原因的任何想法?

【问题讨论】:

  • 第 764 行是哪一行?该消息似乎非常具有描述性,您需要使用SphinxQL 而不是您在此行中使用的任何内容...
  • 谷歌搜索,但我没有得到文件 SphinxQL

标签: php mysql search-engine sphinx


【解决方案1】:

端口 9306,通常是 sphinx 在打开 sphinxQL 时监听的端口。

确实建议您应该使用 SphinxQL,而不是 SphinxAPI。不推荐使用 SphinxAPI 开始一个新项目。

使用 SphinxQL 没有特殊的客户端,您只需使用任何 ol' MySQL 客户端。

mysql_* 函数可以工作,或者更好的是 mysqli,甚至 pdo 等。

【讨论】:

  • 我没有找到正确的示例如何从 Sphinxql 开始。你能帮我吗
  • 不是真的,由于某种原因,没有看到任何关于使用 sphinxql 进行查询的教程。 (大部分集中在 RT 索引上),但这里确实有一些 sphinxql 演示:nearby.org.uk/sphinx/search-example.php
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多