Прикрутил на локалке Sphinx. За основу модуля для Друпал взял Drupal 7.x Sphinx Search module. Ноды у меня помечаются тегами, читай — ключевыми словами и возможность поиска и по ним необходима. Добавил их джойнами и вместе с исходным из sphinxdrupal получилось аж 3 INNER JOIN:
SELECT node.nid AS ID, node.title, node.status, node.created, f.body_value, taxonomy_term_data.name \
FROM node \
INNER JOIN field_data_field_tags ON node.nid = field_data_field_tags.entity_id \
INNER JOIN taxonomy_term_data ON field_data_field_tags.field_tags_tid = taxonomy_term_data.tid \
INNER JOIN field_data_body f ON (node.nid = f.entity_id) \
WHERE node.status = 1 AND node.type = 'my_type';
Ествественно, индексация и поиск вместе с морфологией работают на ура, и больше мне ничего не надо, но смущает кол-во join. Может, это как-то иначе, «лучше», делается?
Комментарии
Всем спасибо за неответы, видимо «лучше» — не делается. Отправлю в работу так.
Лучше использовать SearchApi
Sphinx для него ещё в глубокой альфе
Можно вынести тэги в отдельный индекс. А в общем 3 джоина не так много.
чем лучше?
Вам тут никто не обязан отвечать, если что.
Интеграция с views, фасетный поиск, гибкая настройка индексов.
+ возможность использовать не только Sphinx
возрадуйтесь
Но в принципе, сфинксовский демон даёт не всякий хостер, тут я согласен
К чему это?
текст по ссылке не читай@сразу отвечай?
ok
Не надо искать подтексты там, где их нет)) Я имел в виду именно то, что написал — если никто не налетел меня дербанить за тупость, значит я не всё сделал неправильно))