Интересует, целесообразность использовать sphinx или иную поисковую машину для организации поиска по сайту. Хотелось бы, чтобы поиск сортировался по наиболее подходящему варианту. И Конечно поиск должен происходить по полям новостей, статей и категорий. То есть несколько таблиц. Также фильтр по тегу статьи.
С поисковыми машинами ранее не работал. База данных на PostgreSQL.
Как такой поиск возможно организовать и необходимо ли здесь использовать Sphinx или другой подобный инструмент?
У меня мысли использовать Full Text Index PostgreSQL. Он вроде должен автоматически сортировать по количеству совпадений. Но не знаю как делать поиск по нескольким таблицам. Наверное сделать представление, объединив в нём эти таблицы? И уже по представлению делать поиск?
Как-то так, но в реальности нужен еще словарь.
create table t1 (
id int,
title varchar(128),
fts tsvector
);
create table t2 (
id int,
title2 varchar(128)
);
insert into t1(id, title) values (1, 'cow');
insert into t2(id, title2) values (1, 'milk');
UPDATE t1 as target
SET fts =
setweight(to_tsvector(coalesce(title, '')), 'A') ||
setweight(to_tsvector(coalesce((select title2 from t2 where id = target.id) ,'')), 'B');
select * from t1;
http://sqlfiddle.com/#!15/7e82d/22
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нужно через ссылку добавить массив товара в сессию
Пробую отделить текст от цифр, но ничего не выходит (результат представленного ниже регулярного выражения пуст)