Iho*_*nko 11
我遇到过这篇文章,但没有找到我想看到的答案.这是我的快速入门指南:
1.安装Sphinx
在Mac上使用Homebrew:
brew install sphinx
Run Code Online (Sandbox Code Playgroud)
在Amazon Linux(CentOS)上使用yum:
yum install sphinx
Run Code Online (Sandbox Code Playgroud)
2.创建Sphinx配置
Sphinx附带配置模板.在configs目录中查找sphinx.conf.dist:
在使用Homebrew安装的Mac上:
/usr/local/Cellar/sphinx/<sphinx version>/etc
Run Code Online (Sandbox Code Playgroud)
在安装了yum的Amazon Linux上:
/etc/sphinx
Run Code Online (Sandbox Code Playgroud)
它非常简单,但可能包含太多新手设置.在这种情况下,您可以使用这个简单的配置:
source TestSource {
type = mysql
sql_host = <host>
sql_user = <user>
sql_pass = <password>
sql_db = <db>
sql_query_range = select min(id), max(id) from TestTable
sql_range_step = 2048
sql_query = select id, some_info from TestTable\
where id >= $start and id <= $end
}
index TestIndex {
source = TestSource
path = /var/lib/sphinx/test-index
min_word_len = 3
min_infix_len = 3
}
searchd {
log = /var/log/sphinx/searchd.log
query_log = /var/log/sphinx/query.log
pid_file = /var/run/searchd.pid
max_matches = 200
listen = localhost:9312
}
Run Code Online (Sandbox Code Playgroud)
我将max_matches设置添加到此配置中,因为我得到所有工作后的第一个问题是"为什么我总是只获得20个搜索结果?".使用max_matches,您可以设置搜索结果编号的限制.
3.使用索引器创建索引
indexer --all
Run Code Online (Sandbox Code Playgroud)
4.运行Sphinx守护程序
sudo searchd -c /path/to/config/sphinx.conf
Run Code Online (Sandbox Code Playgroud)
5.安装PHP Sphinx扩展
在Mac上使用Homebrew:
brew install homebrew/php/php56-sphinx
Run Code Online (Sandbox Code Playgroud)
在Amazon Linux上使用yum:
yum install libsphinxclient
pecl install sphinx
Run Code Online (Sandbox Code Playgroud)
6.从PHP查询索引
$index = new SphinxClient();
$index->setServer("127.0.0.1", 9312);
$result = $index->query('some search term', 'TestIndex');
print_r($result);
Run Code Online (Sandbox Code Playgroud)
如果出现任何错误,您可以使用以下方法获取更多信息:
$index->getLastError();
Run Code Online (Sandbox Code Playgroud)
7.保持最新指数
要维护最新索引,您可以使用两个索引:
每次delta索引重新编制索引时,它都会与主索引合并
请点击此链接http://www.sphinxconsultant.com/sphinx-search-delta-indexing/阅读有关此方法的更多信息.
我觉得有用的链接:
我不太确定什么是好的指南,但这是我的步骤。
a) 下载并安装非常简单
b)创建您的第一个索引 - 您需要一个源,一个给定配置非常好的位置,记住您可以使用主要源来配置所有主要区域,然后其他源从中衍生出来。每个源都应以主键开头,我发现最好执行 key_id AS id
c) 使用搜索测试您的索引
d) 启动 sphinx 的搜索恶魔 - searchd 这是 php 将连接到的内容以及它如何获取结果的方式。
e) 创建一个函数来搜索所有索引,传入您要搜索的索引,它将返回与您的搜索匹配的数组中的 ids
f) 进行增量更新。
工作完成 - sphinx 论坛非常好,如果您需要任何帮助,应该可以为您提供。理查德
| 归档时间: |
|
| 查看次数: |
37522 次 |
| 最近记录: |