gpt4 book ai didi

php - 非整数 MVA 对的 sphinx 分面搜索

转载 作者:行者123 更新时间:2023-11-29 00:13:10 30 4
gpt4 key购买 nike

我将我的站点搜索迁移到 sphinx,并且遇到了一些问题。其中之一是 MVA 弦的刻面。

我有两个表:

TABLE_A
id|col1|col2
1 | rand1 | rand2

TABLE_B
id|idtableA|key|value
1 | 1 | A1 | V1
1 | 1 | A2 | V2

在 mysql 中,我使用左连接与 group_concat 表 B。

select 
t1.*, group_concat(concat(t2.key,'-',t2.value)
from
TABLE_A t1 left join TABLE_B t2 on t2.idtableA=t1.id
where t1.id=1
group by t1.id

这会返回 '1', 'rand1', 'rand2', 'A1-V1,A2-V2'然后在 php 中使用 explode 处理以返回构面。在 sphinx 中,我注意到我不能在 MVA 属性中使用字符串。

有人可以用我的旧 grup_concat 示例为我指明方向吗?

最佳答案

不支持字符串的 MVA。

字符串属性支持正在完善中,因此可能有一天会支持。

需要想办法在属性中存储整数。也许可以为每个键/值对使用一个唯一的 id,这取决于您的确切数据库,这有多容易。

或者可以使用散列(例如 CRC32)将字符串转换为数字。

或者想出一些方法来避免对 MVA 的需求。也许可以只存储一个完整的字符串属性(即逗号分隔列表),但也可以将其作为一个字段,这样就可以通过全文查询进行过滤。

关于php - 非整数 MVA 对的 sphinx 分面搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23970520/

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