如何在Ubuntu 10.10上安装Sphinx
首先,这是我的第一篇文章,我为不好的英语道歉。
Sphinx是一种全文搜索引擎,按GPL版本2进行公开发布。商业许可(例如嵌入式使用)可根据要求提供。 您可以使用Sphinx创建大数据索引。 它支持MySQL,PostgreSQL,ODBC。
如果使用Ubuntu 10.10,可以使用
sudo apt-get install sphinxsearch
安装Sphinx。
Sphinx使用配置文件( /etc/sphinxsearch/sphinx.conf
)。 您应该将此文件调整为您的配置。
vi /etc/sphinxsearch/sphinx.conf
conf文件由四部分组成:
来源
:数据源定义
index
:数据源的索引设置
索引器
:由索引器设置(导致路径,字符集等)组成
searchd
:searchd设置
好的 - 这是一个配置文件示例:
source src1 { type = mysql sql_host = localhost sql_user = test sql_pass = 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 }
我使用MySQL本教程。您可能需要调整参数,您必须在MySQL中创建数据。 例如:
Mysql转储文件:
DROP TABLE IF EXISTS test.documents;
CREATE TABLE test.documents
(
id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT,
group_id INTEGER NOT NULL,
group_id2 INTEGER NOT NULL,
date_added DATETIME NOT NULL,
title VARCHAR(255)NOT NULL,
内容TEXT NOT NULL
);
REPLACE INTO test.documents(id,group_id,group_id2,date_added,title,content)VALUES
(1,1,5,NOW(),'test one','这是我的测试文档第一,也检查短语内的搜索。
(2,1,6,NOW(),'test two','这是我的测试文件二号'),
(3,2,7,NOW(),'另一个文档','这是另一个组'),
(4,2,8,NOW(),'doc number four','这是测试组');
DROP TABLE IF EXISTS test.tags;
CREATE TABLE test.tags
(
docid INTEGER NOT NULL,
tagid INTEGER NOT NULL,
UNIQUE(docid,tagid)
);
INSERT INTO test.tags VALUES
(1,1),(1,3),(1,5),(1,7),
(2,6),(2,4),(2,2),
(3,15),
(4,7),(4,40);
最后你必须跑
sudo indexer test1
好。
现在我们来试试 :)
你跑
search "test"
如果没有问题,你应该看到一个结果。
您可以使用Sphinx进行更多功能。您可以在源代码上定义索引和属性。
您可以在这里阅读有关Sphinx的更多详细信息: http : //sphinxsearch.com/docs/1.10/