Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Кто делал сложный поиск по товарам?

Чтоб пробелы , тире не учитывал, кавычки и т.д.

Чтоб транслитерацию понимал и искал по ней.

Ссылка на сообщение
Поделиться на другие сайты

Вопрос в общем виде бесконечно сложный. Вы попробуйте сначала хотя бы на человеческом языке написать, что хотите получить.

Кое-что полезное для понимания масштабов трудности можно прочесть в теме

 

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...
В 11.02.2023 в 07:57, phukortsin сказал:

Вопрос в общем виде бесконечно сложный. Вы попробуйте сначала хотя бы на человеческом языке написать, что хотите получить.

Кое-что полезное для понимания масштабов трудности можно прочесть в теме

 

Ну если детальней, то исходный код на сайте 16 54 661 31R

хочется чтоб он искал 165466131R и так 16-54-661-31R и так 1654661-31R

То есть работать с различными комбинациями.

Ссылка на сообщение
Поделиться на другие сайты

По ссылке как как и объясняется, что сие нереально сложно.

Вы ведь умеете нормально читать тексты? А попробуйте взять обычный длинный текст, в редакторе удалить все пробелы и посмотрите, сможете ли прочитать так же легко.

 

Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, phukortsin сказал:

По ссылке как как и объясняется, что сие нереально сложно.

Вы ведь умеете нормально читать тексты? А попробуйте взять обычный длинный текст, в редакторе удалить все пробелы и посмотрите, сможете ли прочитать так же легко.

 

а какое вообще оптимальное решение в таком случае?

Ссылка на сообщение
Поделиться на другие сайты

Пока не придумали не только оптимального, но и вообще сколь-нибудь подходящего. Причем даже на самых передовых сайтах.

Сравните результаты поиска  на фразы '7849-80-14' и '78498014' в Google. Или в Яндекс.

Хотите, чтоб простая CMS таких гигантов превзошла?

 

 

 

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...
В 23.02.2023 в 14:17, phukortsin сказал:

Пока не придумали не только оптимального, но и вообще сколь-нибудь подходящего. Причем даже на самых передовых сайтах.

Сравните результаты поиска  на фразы '7849-80-14' и '78498014' в Google. Или в Яндекс.

Хотите, чтоб простая CMS таких гигантов превзошла?

 

 

 

Обратил внимание, на следующую вещь: есть товары в названии которых содержится текст вида AB012-* (AB012-1, AB012-2 и AB012-3). Если в строке поиска набрать AB012 1 без тире, то живой поиск предложит все три товара (AB012-1, AB012-2 и AB012-3), но если сделать post-запрос, то на новой странице открывается конкретный товар AB012-1

В каком месте учитывается это тире при post-запросе?

Ссылка на сообщение
Поделиться на другие сайты

"Если в строке поиска набрать AB012 1 без тире", то " это тире" не учитывается ни в каком месте, так как его в поисковой фразе нет и учитывать его в принципе нельэя.

А вообще алгоритмы обычного поиска и живого поиска существенно разные. В частности, при нахождении ровно одного товара обычный поиск производит переходит на страницу товара, а живой такого никого не делает. И список найденных товаров у них разный.

 

 Смотреть в PHP-скриптах api/Products.php, ajax/search_products.php.  

Ссылка на сообщение
Поделиться на другие сайты
В 04.03.2023 в 08:19, phukortsin сказал:

то " это тире" не учитывается ни в каком месте, так как его в поисковой фразе нет и учитывать его в принципе нельэя.

Тогда такой вопрос: поиск ведь понимает, что тире в запросе  AB012 1 нет, но выдает конкретный товар с тире. обратную ситуацию можно сделать? Когда в запросе есть тире, а в названии товара нет тире? Но поиск выдаст нужный резльтат.

Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, Dmitry86 сказал:

Тогда такой вопрос: поиск ведь понимает, что тире в запросе  AB012 1 нет, но выдает конкретный товар с тире. обратную ситуацию можно сделать? Когда в запросе есть тире, а в названии товара нет тире? Но поиск выдаст нужный резльтат.

Поиск сам ничего не понимает - что напишет программист то и ищет)

Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, Dmitry86 сказал:

Тогда такой вопрос: поиск ведь понимает, что тире в запросе  AB012 1 нет, но выдает конкретный товар с тире. обратную ситуацию можно сделать? Когда в запросе есть тире, а в названии товара нет тире? Но поиск выдаст нужный резльтат.

При запросе АВ012, поиск нашел первый схожий товар АВ012-1 https://github.com/pikusov/Simpla/blob/master/view/ProductsView.php#L143

Поиск который хотите вы, можно реализовать через API ЯндексПоиск - поиск для сайта или же с помощью Sphinx.

 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...