Помощник
|
Поиск для сайта. Доработать. |
Пират_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
Евгений92 |
24.10.2016, 15:22;
Ответить: Евгений92
Сообщение
#2
|
|
Добрый день всем. Предлагаю услуги по веб-разработке сайтов , интернет-магазинов и т.д. По всем вопросам: e-mail: ellipsoit@mail.ru
|
|
|
Пират_hb
|
Сообщение
#3
|
|
Актуально!!!
|
|
|
Den1xxx |
28.10.2016, 0:16;
Ответить: Den1xxx
Сообщение
#4
|
|
Всем привет! Есть готовый поиск на сайте. Нужно допилить его. Например фраза хранящиеся в бд в поле 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 пункт, например. |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
SiteAnalyzer - бесплатная программа для аудита и анализа сайта | 79 | Chaser | 74332 | Сегодня, 1:02 автор: Chaser |
|
Посоветуйте массажер для спины и шеи | 11 | Boymaster | 940 | Вчера, 18:24 автор: Arsenwenger |
|
⭕Антидетект браузер AdsPower для эффективной работы с мультиаккаунтами! | 84 | AdsPower | 24601 | Вчера, 16:35 автор: AdsPower |
|
Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат | 55 | arendator | 35112 | Вчера, 2:12 автор: arendator |
|
Rebex.io – Ваша инновационная платформа для обмена криптовалюты! | 3 | Rebex | 975 | 24.4.2024, 20:50 автор: Rebex |
Текстовая версия | Сейчас: 26.4.2024, 7:14 |