php接入sphinx,php – sphinx api基本设置

其实我的问题似乎很基础.

>我正在使用sphinx版本2.3.1 beta

>我无法设置它来搜索我的数据库.

>我正在使用带有1.57 GB数据的mysql DB,这是在我的服务器localhost上.

>我想用php使用sphinxapi.

就像我想的那样,我必须告诉狮身人面像

>在哪里寻找数据

>如何处理它

>存储索引的位置

好吧,我不知道应该更改哪个文件.

我在sphinx文件夹中找到了一个名为configure的文件,我尝试了这个,然后我更改了sphinx.conf.in但我仍然不能使用sphinx.

如果你帮我配置sphinx基本设置会很棒.

我研究了问题,但没有像这样的基本问题.

提前致谢.

解决方法:

我已经看过几次这个初学者的混乱,所以我想我会给出一些更详细的快速入门.那么,开始使用Sphinx搜索的基本介绍:

通常,sphinx项目文件存储在三个目录下:project / sphinx / etc,project / sphinx / logs和project / sphinx / data.这些可以根据需要进行修改,但我遵循以下惯例.

运行狮身人面像

在系统上安装Sphinx后,您将拥有两个可执行文件:indexer和searchd. indexer是检查配置文件并为您指定的数据编制索引以便快速访问的程序. searchd是您通常希望继续运行的后台进程(或守护进程).将此视为Sphinx搜索引擎的动作.来自sphinxapi的所有查询都将路由到searchd,searchd将对索引数据执行搜索,并按照您指定的顺序返回记录的ID.运行这两个可执行文件的例子(在linux中,虽然在Windows上它应该不会太不同)如下所示:

indexer -c /path/to/project/sphinx/etc/sphinx.conf --all

这会索引配置文件中指定的所有源.有更多选项可用于仅索引指定的源. Detailed listing of options here.

searchd -c /path/to/project/sphinx/etc/sphinx.conf --rotate

这会初始化searchd守护程序并将其分配给后台,它将继续运行直到您将其终止. rotate选项允许您在将来更新索引时保持守护程序运行.您可以使用–stop开关来停止守护程序. Detailed listing of options here.

配置Sphinx

这将我们带到配置文件.配置文件由源和索引配置的集合以及用于配置sphinx本身的searchd部分组成.这里有很多选项要配置,但基本的sphinx.conf(通常是sphinx安装文件夹中的sphinx.conf.dist文件)文件起初有点压倒性.我只是提到了一些开始使用所需的基本配置选项.我假设您使用的是MySQL,但这应该很容易适应任何数据提供者.

searchd {

/* Define your file paths. */

log = /path/to/project/sphinx/logs/searchd.log

query_log = /path/to/project/sphinx/logs/query.log

pid_file = /path/to/project/sphinx/logs/searchd.pid

/* Listen on port 9312 (This is the default port) */

listen = localhost:9312

}

这是基本的searchd配置,指定了写日志的位置以及要锁定的.pid文件.搜索守护程序侦听端口9312,默认情况下,sphinxapi会将其查询转发给它.

source text_search{

/* Data provider details */

type = mysql

sql_host = localhost

sql_user = sql_user_name

sql_pass = sql_pass_word

sql_db = my_db_name

/* The query used to index the data. A very basic example... */

sql_query = SELECT id, text_field, status FROM text_search

sql_attr_uint = status

}

这是数据的来源.在这里,索引器将运行提供的查询并索引结果. id被作为键,因为它是一个整数字段,没有明确提到它是什么(与状态字段不同).由于text_field是一个文本字段(duh!),因此sphinx会隐式地为全文搜索索引.我们还指定status是一个整数字段,我们稍后可以在执行搜索时过滤结果.

index text_search_index{

/* The data source that we have defined above. */

source = text_search

/* The path to store the index data/cache */

path = /path/to/project/data/text_search

/* Use stemming while searching */

morphology = stem_en

}

这定义了searchd将用于搜索的索引的详细信息.提供数据来源.有许多选项可根据您的需求定制结果.我只提供了一个示例,我们指定searchd必须使用词干算法来匹配查询.可以通过以下方式收集所有可用选项的详细信息:

这绝不是详细的,但我希望这会让你开始……

标签:sphinx,php

来源: https://codeday.me/bug/20190829/1764525.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值