【问题标题】:SphinxQL + sphinxsearch table doesn't existsSphinxQL + sphinxsearch 表不存在
【发布时间】:2015-11-16 21:23:25
【问题描述】:

今天我试图将 sphinxsearch 与 SphinxQL 一起使用,但出现了问题 =\ 首先我安装了 sphinxsearch 然后我配置了它,之后我使用 indexer --all 创建了索引 forum_index。全部完成,没有错误。 然后我将 SphinxQl 包含到我的项目中,键入主机和正在侦听 sphinx 的端口,并尝试在 SphinxQL 的自述文件中进行查询:

// create a SphinxQL Connection object to use with SphinxQL
$conn = new Connection();
$conn->setParams(array('host' => 'localhost', 'port' => 9306))
;

但是导致了数据库访问错误:

access denied www-data@localhost password NO

之后我在 SphinxQL 中设置用户名和密码参数

 mysqli::real_connect()

以前的错误消失了 然后我尝试做一个测试查询:

$query = SphinxQL::create($conn)->select('column_one', 'colume_two')
    ->from('forum_index');
$result = $query->execute();

但我得到一个错误:

table forum_index doesn't exists

我感觉我的 SphinxQL 没有看到 sphinx 或 sphinx 配置,并尝试进行简单查询。 你知道出了什么问题吗?

【问题讨论】:

  • 同时设置数据库名称
  • 已经(15个符号评论)

标签: mysql sphinx


【解决方案1】:

请使用以下命令进入命令行

mysql -P9306 --protocol=tcp --prompt='sphinxQL> '

得到 sphinxQL 提示后,输入以下命令

sphinxQL> show tables;

如果您正确设置了所有内容,您可以在列表中看到forum_index 表。否则,请检查 sphinx.conf 文件中的 searchd 配置部分是否正确配置。我的配置是这样的

searchd {
  listen                  = 9315
  listen                  = 9306:mysql41
  log                     = /Users/XXXX/projects/sphinx/data/searchd.log
  query_log               = /Users/XXXX/projects/sphinx/data/query.log
  read_timeout            = 5
  max_children            = 30
  pid_file                = /Users/XXXX/projects/sphinx/data/searchd.pid
  max_matches             = 1000
  seamless_rotate         = 1
  preopen_indexes         = 0
  unlink_old              = 1
  workers                 = threads
  thread_stack            = 1024K
}

【讨论】:

  • 它有效,但这是另一个故事 =) 以上解决我的问题
【解决方案2】:

我通过在 SphinxQL 参数中设置 host = '127.0.0.1' 解决了我的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多