Temat : połączenie 4 zapytań w jedno
Szukamy na potrzeby systemu wyszukiwarki dla dalszej obróbki zapytań i wyników pewnym zapytaniem sql dla full text, lecz nie zdaje ono dobrych rezultatów.
Zadanie : budowa jednego zapytania w pliku php (nawet przy wykorzystaniu tabeli tmp) bez względów na długość trwania zapytania.
Odpowiedź : może być inne zapytanie ale generalnie aby ustawiało najpierw frazy "te w cudzysłowu" potem te +występujące +razem, potem te ze zwykłego match against ('nasza fraza') a potem te z systemu querty expantion (czyli dobierane z podwójnego wyszukiwania). Więc z połączenia 4 zapytań a każde (jeżeli to możliwe) z ilością występowania.
Czyli chcemy połączyć cztery wyszukiwania numerów ID w jedno z pogrupowanymi wynikami bez powtarzania ID
1)
SELECT * FROM `tabela` WHERE `tekst` LIKE '%nasza fraza%'
2)
SELECT id FROM `tabela` WHERE MATCH `tekst` AGAINST ('+nasza +fraza' IN BOOLEAN MODE )
3)
SELECT id FROM `tabela` WHERE MATCH `tekst` AGAINST ('nasza fraza')
4)
SELECT id FROM `tabela` WHERE MATCH `tekst` AGAINST ('nasza fraza' WITH QUERY EXPANSION )
hmm czy ktoś mnie zrozumie :|