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'字符串的列表,然後我可以檢查(如標籤) –