Я пытаюсь создать полнотекстовый запрос, который соответствует ЛЮБОМУ из нескольких точных фраз и исключая другие. В моем тестовом запросе. Я хочу выбрать любую запись, в которой есть (или оба) точная фраза «коричневая корова» ИЛИ «зеленая кошка», а НЕ «серебряный носорог». Я настроил тестовые записи с комбинациями этих трех фраз и должен вернуть 3 записи, если я могу правильно сформулировать свой запрос.
Запрос 1 SELECT * FROM jos_sea_messages WHERE ((Match (body, subject) Against ('") + зеленая кошка "'В БУЛЕВОМ РЕЖИМЕ) ИЛИ Совпадение (тело, предмет) против (" + "коричневая корова"' В БУЛЬШЕНСКОМ РЕЖИМЕ)) И (Совпадение (тело, субъект) против ('"- серебряный носорог"' В БУЛЕВОМ РЕЖИМЕ )))
Возвращает 2 записи - одна из них с 'серебряным носорогом', поэтому не то, что я хочу
Запрос 2 SELECT * FROM jos_sea_messages WHERE ((Match (body, subject) Against ( '"+ green cat" "-silver rhino"' В БУЛИНОВОМ РЕЖИМЕ) ИЛИ Match (body, subject) против ('"+ brown cow" "-silver rhino"' В БУЛЕВОМ РЕЖИМЕ))) Возвращает все записи с любым из фразы, включая «серебряный носорог», поэтому все еще не правы
Запрос 3 SELECT * FROM jos_sea_messages WHERE (Match (body, subject) против ('"+ green cat" "+ brown cow" "-silver rhino") 'В БУЛЕВОМ РЕЖИМЕ)) Возвращает много строк, некоторые из которых, я думаю, не имеют точного выражения ses?
Каков правильный синтаксис для поиска записей, которые содержат (или оба) точные фразы «коричневая корова» и «зеленая кошка», но не должны содержать «серебряный носорог»?
Спасибо заранее.