sphinx查询问题
我现在有几个库,每个库都用sphinx建了不同的索引
但是查询就出问题了
比如说,我要从A库中查询所需内容
那我怎么来指定要查询哪个库的索引呢
这是我的coreseek配置
#音乐源定义source music{ type = mysql sql_host = localhost sql_user = root sql_pass = sql_db = music sql_port = 3306 sql_query_pre = SET NAMES utf8 sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(id) FROM allmusic sql_query = SELECT id,`name`,`singer` FROM allmusic WHERE id<=(SELECT max_id FROM sph_counter WHERE counter_id=1) #sql_query第一列id需为整数#name、singer作为字符串/文本字段,被全文索引 sql_query_info_pre = SET NAMES utf8 #命令行查询时,设置正确的字符集 sql_query_info = SELECT id,`name`,`singer` FROM allmusic WHERE id=$id #命令行查询时,从数据库读取原始数据信息}# music 的增量索引source mdelta:music{ sql_query_pre = SET NAMES utf8 #sel_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(id) FROM allmusic sql_query = SELECT id,`name`,`singer` FROM allmusic WHERE id<=(SELECT max_id FROM sph_counter WHERE counter_id=1)}#小说源定义source novel{ type = mysql sql_host = localhost sql_user = root sql_pass = sql_db = novel sql_port = 3306 sql_query_pre = SET NAMES utf8 sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(id) FROM novel sql_query = SELECT id,`name`,`author`,`is_small` FROM novel WHERE id<=(SELECT max_id FROM sph_counter WHERE counter_id=1) #sql_query第一列id需为整数#name、singer作为字符串/文本字段,被全文索引 sql_attr_uint = is_small sql_query_info_pre = SET NAMES utf8 #命令行查询时,设置正确的字符集 sql_query_info = SELECT id,`name`,`img`,`des`,`content`,`is_small` FROM novel FROM allmusic WHERE id=$id #命令行查询时,从数据库读取原始数据信息}source ndelta:novel{ sql_query_pre = SET NAMES utf8 #sel_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(id) FROM novel sql_query = SELECT id,`name`,`author`,`is_small` FROM novel WHERE id<=(SELECT max_id FROM sph_counter WHERE counter_id=1) sql_attr_uint = is_small}#index定义index music{ source = music #对应的source名称 path = E:/sphinx/music/ #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... docinfo = extern mlock = 0 morphology = none html_strip = 0 #charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾 charset_dictpath = C:/usr/local/coreseek/etc/ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/... charset_type = zh_cn.utf-8 min_prefix_len = 0 min_infix_len = 0 min_word_len = 2 ngram_len = 0 ngram_chars = U+4E00..U+9FBF, U+3400..U+4DBF, U+20000..U+2A6DF, U+F900..U+FAFF,\ U+2F800..U+2FA1F, U+2E80..U+2EFF, U+2F00..U+2FDF, U+3100..U+312F, U+31A0..U+31BF,\ U+3040..U+309F, U+30A0..U+30FF, U+31F0..U+31FF, U+AC00..U+D7AF, U+1100..U+11FF,\ U+3130..U+318F, U+A000..U+A48F, U+A490..U+A4CF}index mdelta:music{ source = delta path = E:/sphinx/music/delta}#index定义index novel{ source = novel #对应的source名称 path = E:/sphinx/novel/ #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... docinfo = extern mlock = 0 morphology = none html_strip = 0 #charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾 charset_dictpath = C:/usr/local/coreseek/etc/ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/... charset_type = zh_cn.utf-8 min_prefix_len = 0 min_infix_len = 0 min_word_len = 2 ngram_len = 0 ngram_chars = U+4E00..U+9FBF, U+3400..U+4DBF, U+20000..U+2A6DF, U+F900..U+FAFF,\ U+2F800..U+2FA1F, U+2E80..U+2EFF, U+2F00..U+2FDF, U+3100..U+312F, U+31A0..U+31BF,\ U+3040..U+309F, U+30A0..U+30FF, U+31F0..U+31FF, U+AC00..U+D7AF, U+1100..U+11FF,\ U+3130..U+318F, U+A000..U+A48F, U+A490..U+A4CF}index ndelta:novel{ source = ndelta path = E:/sphinx/novel/delta}#全局index定义indexer{ mem_limit = 128M}#searchd服务定义searchd{ listen = 9312 read_timeout = 5 max_children = 30 max_matches = 1000 seamless_rotate = 0 preopen_indexes = 0 unlink_old = 1 pid_file = E:/var/log/searchd_mysql.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... log = E:/var/log/searchd_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... query_log = E:/var/log/query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... binlog_path = #关闭binlog日志 compat_sphinxql_magics = 0}
回复讨论(解决方案)
求高手指点啊
public array SphinxClient::query ( string $query [, string $index = "*" [, string $comment = "" ]] )
index
索引名称 (可以为多个,使用逗号分割,或者为“*”表示全部索引).
我现在有几个库,每个库都用sphinx建了不同的索引
但是查询就出问题了
比如说,我要从A库中查询所需内容
那我怎么来指定要查询哪个库的索引呢
这是我的coreseek配置
#音乐源定义source music{ type = mysql sql_host = localhost sql_user = root sql_pass = sql_db = music sql_port = 3306 sql_query_pre = SET NAMES utf8 sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(id) FROM allmusic sql_query = SELECT id,`name`,`singer` FROM allmusic WHERE id<=(SELECT max_id FROM sph_counter WHERE counter_id=1) #sql_query第一列id需为整数#name、singer作为字符串/文本字段,被全文索引 sql_query_info_pre = SET NAMES utf8 #命令行查询时,设置正确的字符集 sql_query_info = SELECT id,`name`,`singer` FROM allmusic WHERE id=$id #命令行查询时,从数据库读取原始数据信息}# music 的增量索引source mdelta:music{ sql_query_pre = SET NAMES utf8 #sel_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(id) FROM allmusic sql_query = SELECT id,`name`,`singer` FROM allmusic WHERE id<=(SELECT max_id FROM sph_counter WHERE counter_id=1)}#小说源定义source novel{ type = mysql sql_host = localhost sql_user = root sql_pass = sql_db = novel sql_port = 3306 sql_query_pre = SET NAMES utf8 sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(id) FROM novel sql_query = SELECT id,`name`,`author`,`is_small` FROM novel WHERE id<=(SELECT max_id FROM sph_counter WHERE counter_id=1) #sql_query第一列id需为整数#name、singer作为字符串/文本字段,被全文索引 sql_attr_uint = is_small sql_query_info_pre = SET NAMES utf8 #命令行查询时,设置正确的字符集 sql_query_info = SELECT id,`name`,`img`,`des`,`content`,`is_small` FROM novel FROM allmusic WHERE id=$id #命令行查询时,从数据库读取原始数据信息}source ndelta:novel{ sql_query_pre = SET NAMES utf8 #sel_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(id) FROM novel sql_query = SELECT id,`name`,`author`,`is_small` FROM novel WHERE id<=(SELECT max_id FROM sph_counter WHERE counter_id=1) sql_attr_uint = is_small}#index定义index music{ source = music #对应的source名称 path = E:/sphinx/music/ #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... docinfo = extern mlock = 0 morphology = none html_strip = 0 #charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾 charset_dictpath = C:/usr/local/coreseek/etc/ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/... charset_type = zh_cn.utf-8 min_prefix_len = 0 min_infix_len = 0 min_word_len = 2 ngram_len = 0 ngram_chars = U+4E00..U+9FBF, U+3400..U+4DBF, U+20000..U+2A6DF, U+F900..U+FAFF,\ U+2F800..U+2FA1F, U+2E80..U+2EFF, U+2F00..U+2FDF, U+3100..U+312F, U+31A0..U+31BF,\ U+3040..U+309F, U+30A0..U+30FF, U+31F0..U+31FF, U+AC00..U+D7AF, U+1100..U+11FF,\ U+3130..U+318F, U+A000..U+A48F, U+A490..U+A4CF}index mdelta:music{ source = delta path = E:/sphinx/music/delta}#index定义index novel{ source = novel #对应的source名称 path = E:/sphinx/novel/ #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... docinfo = extern mlock = 0 morphology = none html_strip = 0 #charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾 charset_dictpath = C:/usr/local/coreseek/etc/ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/... charset_type = zh_cn.utf-8 min_prefix_len = 0 min_infix_len = 0 min_word_len = 2 ngram_len = 0 ngram_chars = U+4E00..U+9FBF, U+3400..U+4DBF, U+20000..U+2A6DF, U+F900..U+FAFF,\ U+2F800..U+2FA1F, U+2E80..U+2EFF, U+2F00..U+2FDF, U+3100..U+312F, U+31A0..U+31BF,\ U+3040..U+309F, U+30A0..U+30FF, U+31F0..U+31FF, U+AC00..U+D7AF, U+1100..U+11FF,\ U+3130..U+318F, U+A000..U+A48F, U+A490..U+A4CF}index ndelta:novel{ source = ndelta path = E:/sphinx/novel/delta}#全局index定义indexer{ mem_limit = 128M}#searchd服务定义searchd{ listen = 9312 read_timeout = 5 max_children = 30 max_matches = 1000 seamless_rotate = 0 preopen_indexes = 0 unlink_old = 1 pid_file = E:/var/log/searchd_mysql.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... log = E:/var/log/searchd_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... query_log = E:/var/log/query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... binlog_path = #关闭binlog日志 compat_sphinxql_magics = 0}
按索引名来来查询,不是指定库,sphinx搜索和数据库没有关系
$cl = new SphinxClient ();$cl->SetServer ('localhost', '9312');$res = $cl ->Query ( '我', "novel" );
http://docs.php.net/manual/zh/sphinxclient.query.php

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

长URL(通常用关键字和跟踪参数都混乱)可以阻止访问者。 URL缩短脚本提供了解决方案,创建了简洁的链接,非常适合社交媒体和其他平台。 这些脚本对于单个网站很有价值

在Facebook在2012年通过Facebook备受瞩目的收购之后,Instagram采用了两套API供第三方使用。这些是Instagram Graph API和Instagram Basic Display API。作为开发人员建立一个需要信息的应用程序

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

这是有关用Laravel后端构建React应用程序的系列的第二个也是最后一部分。在该系列的第一部分中,我们使用Laravel为基本的产品上市应用程序创建了一个RESTFUL API。在本教程中,我们将成为开发人员

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

2025年的PHP景观调查调查了当前的PHP发展趋势。 它探讨了框架用法,部署方法和挑战,旨在为开发人员和企业提供见解。 该调查预计现代PHP Versio的增长
