postgres Ubuntu 上的 SphinxQL 问题

Problem with SphinxQL on Ubuntu with postgres

我想在我的服务器上使用 Ubuntu 18.04 和 postgres 10 配置 sphinxsearch。我使用这个:

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-sphinx-on-ubuntu-16-04

我的sphinx_conf:

source src1
{
  type          = pgsql

  sql_host      = localhost
  sql_user      = postgres
  sql_pass      = my_pass
  sql_db        = test
  sql_port      = 2000

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

  sql_attr_uint         = group_id
  sql_attr_timestamp    = date_added
}
index test1
{
  source            = src1
  path              = /var/lib/sphinxsearch/data/test1
  docinfo           = extern
}
searchd
{
  listen            = 9312:pgsql2000
  listen            = 2000:sphinx
  log               = /var/log/sphinxsearch/searchd.log
  query_log         = /var/log/sphinxsearch/query.log
  read_timeout      = 5
  max_children      = 30
  pid_file          = /var/run/sphinxsearch/searchd.pid
  seamless_rotate   = 1
  preopen_indexes   = 1
  unlink_old        = 1
  binlog_path       = /var/lib/sphinxsearch/data
}

当我在端口 2000 上尝试 运行 psql 时

psql --port 9312 -h0

我得到:

'Connection refused'.

Postgres_conf:

...
listen_addresses = '*'
port = 2000
...

有人处理吗?可以用 postgres 运行 sphinx 吗?

  listen            = 9312:pgsql2000

错了。 Sphinx 不提供 Postgres 接口。将 pgsql2000 更改为 mysql41 并使用 mysql 客户端连接到它,而不是 psql。

由于您的目标似乎是通过 Postgres 中的 Sphinx 建立索引,我可以推荐这个交互式教程 https://play.manticoresearch.com/mysql/ 它是关于通过 Manticore Search / Sphinx 从 MySQL 建立索引,但应该给您一个帮助-关于经验和对其工作原理的理解。之后,只需将源代码中的类型从 "mysql" 更改为 "pgsql" 应该很容易,它应该是相同的。