coreseek 问题

发布于 2021-11-21 14:41:52 字数 2015 浏览 852 评论 5


按照我的理解,索引会根据 sql_query 的sql 语句生成索引

sql_attr_uint = *  的不会被编入索引

sql_query_info 不知道是干嘛用的

我按照官方文档一步一步的配置完成并成功生成了索引,把测试的php 也配置上去


coreseek 配置文件

source src_movie
{
	type					= mysql

	sql_host				= localhost
	sql_user				= root
	sql_pass				= root
	sql_db					= nm.movie
	sql_port				= 3306	# optional, default is 3306

	sql_query				= 
		SELECT id, oid, UNIX_TIMESTAMP(pubdate) AS pubdated, name, ename, alias, screenwriter, imdb, introduction, actors, directors ,a,b,c,d,e,score  
		FROM vmovie

	sql_attr_uint			= id
	sql_attr_uint			= oid
	sql_attr_uint			= a
	sql_attr_uint			= b
	sql_attr_uint			= c
	sql_attr_uint			= d
	sql_attr_uint			= e
	
	sql_attr_float			= score
	
	sql_attr_timestamp		= pubdated
	
	
	sql_query_info_pre      = SET NAMES utf8
	sql_query_info			= SELECT * FROM vmovie WHERE id=$id
}


index movie
{
	source					= src_movie
	path					= /usr/local/coreseek/var/data/movie
	docinfo					= extern
	
	charset_dictpath 		= /usr/local/mmseg3/etc/
	charset_type        	= zh_cn.utf-8

    mlock            		= 0
    morphology        		= none
    min_word_len        	= 1
    html_strip              = 0
	

}


indexer
{
	mem_limit				= 128M
}


searchd
{
	port					= 9312
	log						= /usr/local/coreseek/var/log/searchd.log
	query_log				= /usr/local/coreseek/var/log/query.log
	read_timeout			= 5
	max_children			= 30
	pid_file				= /usr/local/coreseek/var/log/searchd.pid
	max_matches				= 1000
	seamless_rotate			= 1
	preopen_indexes			= 0
	unlink_old				= 1
	
    
}



得到这样的结果:发现

name, ename, alias, screenwriter, imdb, introduction, actors, directors
这些字段没了???这是怎么回事??



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

深巷少女 2021-11-24 16:09:59

总比直接在数据库里like好吧

兮颜 2021-11-24 15:12:51

太蛋疼,这样不行不给力,我再一条条从数据库中取,真麻烦

秋意浓 2021-11-24 04:32:22

回复
用 in 啊.where id in (x,x,x,x,x);

高跟鞋的旋律 2021-11-24 00:32:08

拿到的只是数据ID.然后你要去数据库取..

梦中楼上月下 2021-11-23 14:00:21

可以使用

sql_field_string =screenwriter

sql_field_string =ename

sql_field_string =name

.......

这样配置的这些字段仍然可以当作全文检索字段来使用.同时可以在结果中拿到值.

还有一个属性sql_attr_string=screenwriter如果使用这个,screenwriter字段将不参与全文检索,只是在结果中返回此字段数据.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文