【发布时间】:2011-09-23 17:19:23
【问题描述】:
我有一个查询,我在其中选择了 sphinx 索引所需的数据。我做的一件事是多个名称别名、不同语言等的 concat_ws。当名称重叠时,这会出现问题。例如:一个条目的名称为“Clannad”,另一个标题为“CLANNAD -クラナド-”。另一个名称为“Clannad After Story”、“クラナド アフターストーリー”和“Clannad: After Story”。现在请耐心等待,因为我知道在这种特殊情况下这很容易解决,但我希望它适用于所有方面。如果您搜索“Clannad”,您将首先获得 After Story 条目,因为“Clannad”上有双重匹配。
我想做的是删除 concat_ws 语句中的所有重复词/非唯一词。如果这是可能的话。
查询看起来像:
SELECT CONCAT_WS(' ',a.Name,a.Name2,a.Name3,a.Name4) AS name
(我希望我正确地构建了这个问题,这是我的第一个问题) 谢谢,
【问题讨论】:
-
这在 SQL 中会非常痛苦。在您的客户端脚本中进行后期处理会容易得多。
-
它在狮身人面像中/用于狮身人面像,我不确定我能做到这一点。也许我应该重新考虑整个事情,并有一个 sphinx 使用的第四个预先连接的列,并让它在 mysql 之外创建。
标签: mysql sphinx distinct concat-ws