Задавайте вопросы, мы ответим
Вы не зашли.
Привет!
Подскажите! Мне нужно создать полнотекстовый поиск в таблице. (см. вложение). Поиск осуществляется за 4 критериями: тип, марка, модель, название.
Создал вот такой запрос:
SELECT
prices.typeauto,
prices.marka,
prices.model,
prices.namezapch,
prices.numberkatalog,
prices.maker,
prices.price,
prices.valuta,
prices.deliverydate,
prices.idUser as idUser,
users.sitename as sitename,
users.company as company
FROM prices
INNER JOIN pricesAccess ON prices.idUser = pricesAccess.idUser
INNER JOIN users ON prices.idUser = users.id_USER
WHERE
pricesAccess.access = 1 AND
MATCH (prices.typeauto, prices.marka, prices.model, prices.namezapch, prices.numberkatalog)
AGAINST ('+Легковые Audi 80S Глушитель*' IN BOOLEAN MODE);
---------------------------
Выводит огромнгое кол-во записей, не совсем удобно если нужно отыскать конкретную запись.
Создал другой запрос:
--------------------------------
SELECT
prices.typeauto,
prices.marka,
prices.model,
prices.namezapch,
prices.numberkatalog,
prices.maker,
prices.price,
prices.valuta,
prices.deliverydate,
prices.idUser as idUser,
users.sitename as sitename,
users.company as company
FROM prices
INNER JOIN pricesAccess ON prices.idUser = pricesAccess.idUser
INNER JOIN users ON prices.idUser = users.id_USER
WHERE
pricesAccess.access = 1 AND
MATCH (prices.typeauto) AGAINST ('+Грузовые*' IN BOOLEAN MODE) AND
MATCH (prices.marka) AGAINST ('+Fiat*' IN BOOLEAN MODE) AND
MATCH (prices.model) AGAINST ('+153MF*' IN BOOLEAN MODE) AND
MATCH (prices.namezapch, prices.numberkatalog) AGAINST ('+фильтр*' IN BOOLEAN MODE);
-----------------------------
Так что-то более к естественней отбирает и выводит. Подскажите как лутчше оптимизировать и настроить запрос чтобы пользователь за задаными 4-ма критериями смог четко отыскать себе нужную запчасть в прайсе. Говорят что несколько комбинация MATCH-AGAINST использовать нельзя (для каждой табл. нужен только одна такая конструкция или может я не прав???
Неактивен
Да, лучше добавьте табличек с типами автомобилей, марками, моделями.
Тогда и полнотекстовый индекс не нужен будет
Неактивен
не получится добавить таблички, поскольку в таблицу prices загружается файл целиком с помощью LOAD. Так как Вы считаете: лутчше будет первый или второй вышеуказаный запрос на поиск???
Неактивен
Лучше тот, который работает правильно и отвечает за время, которое
Вас устраивает. Если возможности менять нет, то менять ничего не полу-
чится, разумеется. На очень большой таблице, кажется, первый вариант
будет работать быстрее. Ну разве что плюсики в boolean mode ст́оит ста-
вить у каждого слова.
Неактивен
Van777 написал:
не получится добавить таблички, поскольку в таблицу prices загружается файл целиком с помощью LOAD. Так как Вы считаете: лутчше будет первый или второй вышеуказаный запрос на поиск???
имхо, лучше отказаться от LOAD или грамотно его переписать в пользу оптимизированной БД
Неактивен