gpt4 book ai didi

mysql - sphinxsearch 给出缺少属性的错误

转载 作者:行者123 更新时间:2023-11-29 06:50:59 33 4
gpt4 key购买 nike

我正在尝试使用连接两个表的查询来创建 sphinxsearch 索引。

到目前为止,索引一直工作正常,但现在我需要索引中的更多数据,因此需要连接另一个表。

查询如下所示

  sql_query = SELECT IFNULL(`pbd`.`main_page`, 1) as `main_page`, \
`act`.`id`, \
UNIX_TIMESTAMP(`act`.`date`) as date, \
`act`.`post_title`, \
`act`.`post_content`,\
`act`.`blog_name`, \
`act`.`blog_network`,\
CASE `act`.`blog_type`\
WHEN 'premium' THEN 0 \
WHEN 'plus' THEN 1 \
WHEN 'basic' THEN 2 \
WHEN '' THEN 2 \
ELSE 2 \
END as blog_type, \
crc32(`act`.`blog_cluster`) as category \
FROM `wp_bd_activity` act \
LEFT JOIN `wp_bd_premium_blogs_data` pbd ON act.blog_id = pbd.blog_id \
where act.blog_id in (select blog_id from wp_blogs where deleted != 1 and public = 1)

当尝试使用此命令旋转索引时:

/usr/bin/indexer activity --rotate

我收到此错误

警告:未找到属性“main_page” - 忽略

这是查询中的第一行。

有什么建议吗?我似乎无法弄清楚问题是什么。

mysql版本是5.5.58

sphinxsearch 版本为 2.0.4

最佳答案

结果集中的第一列始终被视为“文档 ID”。用于文档的唯一 ID。

...因为 main_page 是第一列,它被假定为 id - 因此不再可用作属性(并且不能是字段要么!)

猜测您的act.id真实唯一ID,所以把它放在第一位

sql_query = SELECT `act`.`id`,  \
IFNULL(`pbd`.`main_page`, 1) as `main_page`, \
UNIX_TIMESTAMP(`act`.`date`) as date, \

其他列的顺序并不重要(除了影响索引中存储的顺序之外) - 它是 sql_attr* 设置等的组合,确定列是否是字段和/或属性。

关于mysql - sphinxsearch 给出缺少属性的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47508288/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com