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 пункт, например.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Добавить ответ в эту тему
Быстрый ответ
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
2 Rebex 1142 Вчера, 18:39
автор: Rebex
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыБыстрая индексация страниц сайта и обратных ссылок - 2Index
37 2Index 6540 Вчера, 16:17
автор: 2Index
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
54 arendator 34752 Вчера, 15:16
автор: arendator
Горячая тема (нет новых ответов) ⭕Антидетект браузер AdsPower для эффективной работы с мультиаккаунтами!
83 AdsPower 24380 14.4.2024, 22:52
автор: AdsPower
Горячая тема (нет новых ответов) Настройки лент для wpgrabber
Настрою ленты любой сложности плагина WPGrabber для WordPress
42 zkalinin 30524 11.4.2024, 23:33
автор: zkalinin


 



RSS Текстовая версия Сейчас: 16.4.2024, 11:28
Дизайн