如何在LINUX(ubuntu)上安装Sphinx

如何在LINUX(ubuntu)上安装Sphinx,sphinx,Sphinx,这是Raja,我正在使用PHP进行web开发。最近,我打算用LINUX作为操作系统将“Sphinx”搜索安装到我的应用程序中 我已经按照这个网站上的说明做了 为了在LINUX(Ubuntu)操作系统中安装sphinx,我在终端上测试了该应用程序,结果如下 root@dev2:/# search "test" Sphinx 0.9.9-release (r2117) Copyright (c) 2001-2009, Andrew Aksyonoff using config file '/et

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

我已经按照这个网站上的说明做了

为了在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);
因为我是斯芬克斯的新手,我不能马上拿到它。有人能帮我进一步吗

好奇地想早点找到解决办法

提前感谢,,
Raja.

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

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

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

$s->setServer("123.123.123.123", 9312); // NOT "localhost" under Windows 7!
之后,您可以在浏览器中尝试应用程序

但是,我不明白这一点

$s->SetServer('localhost', 'mysql_user_name', 'mysql_password', 3312);
你说你在ubuntu下运行sphinx,而不是Windows7。所以,sphinx服务器IP应该是ubuntu主机的IP,而不是本地主机的IP

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

将您的setServer()更改为此版本

port = 3312
并在sphinx.conf中将端口设置为3312


我想这可能对你有用。如果您不告诉我发生了什么。

非常感谢您的回复,请您进一步解释一下LINUX上sphinx的安装。我弄糊涂了。因为在LINUX中,我在/var/www/上维护我的源代码。我需要在哪条路径上安装sphinx。在这一部分我感到困惑。如果我能得到关于如何在浏览器中安装和运行应用程序的清晰解释,那就太好了。
$s->SetServer('localhost', 'mysql_user_name', 'mysql_password', 3312);
port = 3312