butteff
@butteff
Раз в тысячу лет заправляю свитер в носки

Как искать пары match вхождений в yii2-sphinx?

Есть таблица, примерно такого содержания:
id, login_id, address

Для одного логина (login_id) может быть несколько адресов (address). Ну допустим для комании с login_id = 17 есть два адреса "Moscow" и "New York". Все это проиндексировано сфинксом.

И вот хочу я найти компании, которые находятси и в Москве и в Нью йорке. В query я пишу "Moscow and New York" или "Moscow New York" или "Moscow, New york" - ничего не найдено. А отдельно Moscow или New York - находит успешно записи. Вот как искать по этому принципу используя sphinx и yii вхождения адресов?

Код такой:
$locationquery = $model1->location;
$location = $search->select('id')->from('location')->match($locationquery)->all();


Что использовать вместо match? Или как искать все по фэн шую?
Не разбивать же строку на слова, не искать же всё найденное и не фильтровать повторы айдишников же для выдачи. Или это норма в моей задаче?
  • Вопрос задан
  • 820 просмотров
Решения вопроса 1
ivankomolin
@ivankomolin
Нужно address в индексе оформить как MVA
И тогда можно будет искать по точному совпадению атрибута, а не через полнотекстовый поиск match (например так: WHERE address="Moscow" AND address="New york")
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы