首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >布尔模式下的匹配与现有记录不匹配?

布尔模式下的匹配与现有记录不匹配?
EN

Stack Overflow用户
提问于 2014-02-20 02:07:12
回答 1查看 42关注 0票数 1

因此,我有一个看似简单的查询:

代码语言:javascript
复制
SELECT i.*, 
    g.title AS groupname, 
    c.name AS category, 
    v.name AS author, 
    w.name as moderator, 
    u.name AS editor 
FROM `jos_k2_items` as i 
    LEFT JOIN `jos_k2_categories` AS c ON c.id = i.catid 
    LEFT JOIN `jos_viewlevels` AS g ON g.id = i.access 
    LEFT JOIN `jos_users` AS u ON u.id = i.checked_out 
    LEFT JOIN `jos_users` AS v ON v.id = i.created_by 
    LEFT JOIN `jos_users` AS w ON w.id = i.modified_by 
WHERE i.trash=0 
    AND MATCH( i.title ) AGAINST ('+red* +2*' IN BOOLEAN MODE)
ORDER BY i.id DESC

由Joomla搜索在管理员界面中构建。我正在寻找一篇名为RED 2的文章,但它没有返回任何结果。下面是行的一个片段:

代码语言:javascript
复制
id  title   alias   catid   published ... trash
===============================================
800 RED 2   red-2   5       1             0

表中有两个全文索引。第一个在title列上,第二个在title, introtext, fulltext, extra_fields_search, image_caption, image_credits, video_caption, video_credits, metadesc, metakey上。

我尝试过的一件事是重建索引,我使用了以下命令:

代码语言:javascript
复制
REPAIR TABLE `jos_k2_items` QUICK;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-20 02:28:21

您试图匹配比默认的最小全文索引长度3短的单词。

第一次改变这个限制

代码语言:javascript
复制
ft_min_word_len = 3

到2或1。

然后重新启动mysql,并重新构建表上的索引:

你可以这样做:

代码语言:javascript
复制
REPAIR TABLE my_table QUICK;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21896626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档