gpt4 book ai didi

sphinx - 如何在 LINUX(ubuntu) 上安装 Sphinx

转载 作者:行者123 更新时间:2023-12-05 01:33:46 24 4
gpt4 key购买 nike

这是 Raja,我使用 PHP 进行 Web 开发。最近我应该将“Sphinx”搜索安装到我的应用程序中,使用 LINUX 作为操作系统。

我已按照本网站给出的说明进行操作

http://www.howtoforge.com/how-to-install-sphinx-on-ubuntu-10.10

在 LINUX(Ubuntu) 操作系统中安装 sphinx 并且我已经在终端中测试了该应用程序,我得到了这样的结果

root@dev2:/# search "test"
Sphinx 0.9.9-release (r2117)
Copyright (c) 2001-2009, Andrew Aksyonoff

using config file '/etc/sphinxsearch/sphinx.conf'...
index 'test1': query 'test ': returned 3 matches of 3 total in 0.000 sec

displaying matches:
1. document=1, weight=2, group_id=1, date_added=Thu Jan 5 18:18:55 2012
id=1
group_id=1
group_id2=5
date_added=2012-01-05 18:18:55
title=test one
content=this is my test document number one. also checking search within phrases.
2. document=2, weight=2, group_id=1, date_added=Thu Jan 5 18:18:55 2012
id=2
group_id=1
group_id2=6
date_added=2012-01-05 18:18:55
title=test two
content=this is my test document number two
3. document=4, weight=1, group_id=2, date_added=Thu Jan 5 18:18:55 2012
id=4
group_id=2
group_id2=8
date_added=2012-01-05 18:18:55
title=doc number four
content=this is to test groups

words:
1. 'test': 3 documents, 5 hits

问题是,我在“/var/www/sphinx_search”位置创建了目录,其中包含 sphinx.conf、sphinxapi.php 和 test.php 文件。

sphinx.conf 背后的代码是
source src1
{
type = mysql
sql_host = localhost
sql_user = user
sql_pass = pwd
sql_db = test
sql_port = 3306 # optional, default is 3306
sql_query = \
SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \
FROM documents
sql_attr_uint = group_id
sql_attr_timestamp = date_added
sql_query_info = SELECT * FROM documents WHERE id=$id
}

index test1
{
source = src1
path = /var/lib/sphinxsearch/data/test1
docinfo = extern
charset_type = sbcs
}

indexer
{
mem_limit = 32M
}

searchd
{
port = 9312
log = /var/log/sphinxsearch/searchd.log
query_log = /var/log/sphinxsearch/query.log
read_timeout = 5
max_children = 30
pid_file = /var/run/searchd.pid
max_matches = 1000
seamless_rotate = 1
preopen_indexes = 0
unlink_old = 1
}

test.php 背后的代码是
require_once('sphinxapi.php');
//require_once('api/sphinxapi.php');
$s = new SphinxClient;
$s->setServer("123.123.123.123", 9312); // NOT "localhost" under Windows 7!
$s->setMatchMode(SPH_MATCH_EXTENDED2);

$result = $s->Query("group");

echo '<pre>';print_r($result);

当我尝试在浏览器 (http://localhost/Raja/search_engine/sphinx/) 中运行此应用程序时,会显示此错误。
{"status":"failed","status_message":"connection to localhost:9312 failed (errno=10060, msg=A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)"}

因为我是 Sphinx 的新手,所以我不能马上得到它。任何人都可以帮助我进一步进行。

好奇地早点寻找解决方案,

提前致谢,
拉贾。

最佳答案

在您使用搜索的示例中,您使用不需要 searchd 守护程序运行的搜索实用程序。这就是搜索成功执行的原因。

要使用 sphinx API,您需要启动 searchd 守护进程,例如:

/path/to/searchd --config /etc/sphinxsearch/sphinx.conf

如果您使用 apt-get 安装了 sphinx,请尝试:
searchd --config /etc/sphinxsearch/sphinx.conf

之后,您可以在浏览器中尝试应用程序。

但是,我不明白这个
$s->setServer("123.123.123.123", 9312); // NOT "localhost" under Windows 7!

你说你在 ubuntu 下运行 sphinx,而不是 windows 7。所以,sphinx 服务器 IP 应该是 ubuntu 主机的 IP,而不是 localhost。

顺便说一句,ubuntu 提供旧版本的 Sphinx,我建议从 sphinxsearch.com 下载最新版本。最新版本是 2.0.3

关于sphinx - 如何在 LINUX(ubuntu) 上安装 Sphinx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8908953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com