X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Добавить ответ в эту тему
> Поиск для сайта. Доработать.
Пират_hb
Пират_hb
Topic Starter сообщение 18.10.2016, 18:24; Ответить: Пират_hb
Сообщение #1


Всем привет!

Есть готовый поиск на сайте. Нужно допилить его.

Например фраза хранящиеся в бд в поле name: Колодки дискового тормоза задние ATV-300 (4.3.01.3370) CN. Мой поиск ищет строго как написано наименование. Если написать "ки дискового тор", то результат выдаст. Но необходимо переделать поиск чтоб можно было ввести начало нескольких слов и неважно в каком порядке они стоят, такого типа: колод 300 atv или 300 кол atv и поиск выдал бы нужный запрос. Возможно ещё будут допилы, но это после обсуждения работы.

аська 407996396
скайп offtop3

За вознаграждение.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Евгений92
Евгений92
сообщение 24.10.2016, 15:22; Ответить: Евгений92
Сообщение #2


Добрый день всем. Предлагаю услуги по веб-разработке сайтов , интернет-магазинов и т.д. По всем вопросам: e-mail: ellipsoit@mail.ru
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Пират_hb
Пират_hb
Topic Starter сообщение 27.10.2016, 14:30; Ответить: Пират_hb
Сообщение #3


Актуально!!!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 28.10.2016, 0:16; Ответить: Den1xxx
Сообщение #4


(Пират_hb @ 18.10.2016, 21:24) *
Всем привет!

Есть готовый поиск на сайте. Нужно допилить его.

Например фраза хранящиеся в бд в поле name: Колодки дискового тормоза задние ATV-300 (4.3.01.3370) CN. Мой поиск ищет строго как написано наименование. Если написать "ки дискового тор", то результат выдаст. Но необходимо переделать поиск чтоб можно было ввести начало нескольких слов и неважно в каком порядке они стоят, такого типа: колод 300 atv или 300 кол atv и поиск выдал бы нужный запрос. Возможно ещё будут допилы, но это после обсуждения работы.

аська 407996396
скайп offtop3

За вознаграждение.

Ваша проблема проистекает в недоработке поиска в MySQL в полях индекса типа Fulltext
Другими словами, правильный поиск должен искать в словах по корням слов, игнорируя суффиксы, приставки и окончания.
В описании функционала так и задекларировано. Но работает это только в английском варианте.
На русский и все остальные языки разработчики бесплатного MySQL забили и на это никак не повлиять, разве что написать самому.

Решений может быть несколько:
1. Перевести на PostgreSQL — там этот поиск есть
2. Отказаться от Fulltext.
Обрабатывать текст до запроса в базу, отрезая всё лишнее с учётом русской морфологии.
Объединять получившееся, делать запрос, используя LIKE
3. Хранить в БД отдельное поле для поиска.
В нем будет текст, обработанный для правильного поиска текущим недоработанным Fulltext'ом
Всю концепцию в 2 словах объяснить сложно, см. https://valera.ws/2007.09.05~morpho_search_in_mysql/
4. Использовать спец. инструмент, например Sphinx — http://sphinxsearch.com/

Как видите, вариантов много. У каждого свои достоинства и недостатки.
Лично я реализовывал вариант 2, потому что он не требует глобальных изменений в БД и работает на любом хостинге.
Минус — при реализации на простейшем стеммере Портера дает неточность в 15-20%.
Всё зависит от задачи. Высоконагруженным сайтам подошёл бы 1 или 4 пункт, например.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Добавить ответ в эту тему
Быстрый ответ
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Партнерская программа для Эзотерики, Магии, Таро
партнерка для эзотерики
0 LiveExpert 304 Сегодня, 15:13
автор: LiveExpert
Открытая тема (нет новых ответов) Партнерская программа для Эзотерики, Магии, Таро
партнерка для эзотерики
0 LiveExpert 287 Сегодня, 15:13
автор: LiveExpert
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыAzinomoney.com - гемблинг-партнерка с 65%RS для каждого
Гарантированный заработок на гемблинг-трафике
65 AzinoMoney 29171 Вчера, 19:10
автор: AzinoMoney
Горячая тема (нет новых ответов) Продвижение молодого сайта
30 maxmer 6363 26.3.2024, 21:49
автор: c4p1t4l15t
Открытая тема (нет новых ответов) SEO-текст на главной странице сайта и в категориях
5 boltuk 1352 26.3.2024, 21:43
автор: c4p1t4l15t


 



RSS Текстовая версия Сейчас: 28.3.2024, 20:24
Дизайн