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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыБыстрая индексация страниц сайта и обратных ссылок - 2Index
38 2Index 6602 Сегодня, 12:56
автор: 2Index
Открытая тема (нет новых ответов) ✅ sms.chekons.com - ⭐ Сервис для получения SMS на реальные номера USA "Non-VoIP, безлим SMS, API" ⭐
Сервис для получения SMS на реальные номера USA
13 Chekon 4046 Сегодня, 11:48
автор: Chekon
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
1 Rebex 666 Вчера, 11:50
автор: Rebex
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
11 Aloof 2802 16.4.2024, 12:48
автор: diviner99
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
54 arendator 34818 15.4.2024, 15:16
автор: arendator


 



RSS Текстовая версия Сейчас: 18.4.2024, 19:39
Дизайн