0
我想写一个SphinxQL查询,将复制下面的MySQL在狮身人面像RT指数:复杂SphinxQL查询
SELECT id FROM table WHERE colA LIKE 'valA' AND (colB = valB OR colC = valC OR ... colX = valX ... OR colY LIKE 'valY' .. OR colZ LIKE 'valZ')
正如你可以看到,我试图让所有的行,其中一个字符串列匹配一定的值,匹配值的列表,其中混合和匹配字符串和整数列/值)
这是我在SphinxQL到目前为止得到的任何一个:
SELECT id, (intColA = intValA OR intColB = intValB ...) as intCheck FROM rt_index WHERE MATCH('@requiredMatch = requiredValue');
p我遇到的问题是匹配所有可能的可选字符串值。最好的可能的查询(如果有多个匹配语句被允许,他们被允许作为表达式)会是这样的
SELECT id, (intColA = intValA OR MATCH('@checkColA valA|valB') OR ...) as optionalMatches FROM rt_index WHERE optionalMatches = 1 AND MATCH('@requireCol requiredVal')
我可以看到CRC32字符串转换做到这一点的潜在方法和属性MVA但这些都没有支持RT索引,我真的不想从它们切换。
这些都是想着我一直有相同线路。 我会使用MVA来保存CRC'字符串的列表,然后我可以检查(如标签) –