używam FTS dla kwerend mojej bazy danych w celu zwiększenia szybkości wyszukiwania jak muszę szukać w opisie tekstowym także,wyszukiwania w wielu kolumnach Korzystanie z wyszukiwania Pełny tekst (FTS) z wielu żetonów za pomocą OR operator
Kiedy jestem próbuje kwerendy przy użyciu jednej kolumnie grzywny pracuje jak poniżej
select * from productsearch where productsearch match ('prod_name:panasonic*tw*')
a także,
select * from productsearch where productsearch match ('prod_short_desc:samsung*s5*')
Tak, powyżej obu zapytań mi dać oczekiwany rezultat, ale gdy próbuję aby połączyć oba pytania używając OR
operator jej nie daje mi żadnych rezultatów
select * from productsearch where productsearch match ('prod_name:panasonic*tw* OR
prod_short_desc:samsung*s5*')
Tak, chcę wiedzieć, czy robię coś złego tu podczas korzystania OR
operatora do przeszukiwania wielu kolumn
UPDATE
poniższe zapytanie działa poprawnie, ale to nie spełnia moje wymagania,
select * from productsearch where productsearch match ('prod_name:panasonic* OR
prod_short_desc:samsung*')
Możesz zobaczyć, że jeśli usunę wiele tokenów, to też działa dobrze z operatorem OR
.
Dobre pytanie :) –
Nic nie wiem o FTS, ale ... czy mógłbyś spróbować: 'match ('prod_name: panasonic * tw *' LUB 'prod_short_desc: samsung * s5 *')' (oddzielone ciągi znaków w taka sama klauzula dopasowania) ** lub ** 'match ('nazwa_programu: panasonic * tw *') LUB dopasowanie (" prod_short_desc: samsung * s5 * ') '(oddzielne klauzule dopasowania)? –
@ FrankN.Stein wypróbował obu, nie działa Pierwsza daje wynik, co oznacza, że zakończyła pomija warunki, a druga daje złe parametry do funkcji match() –