Помощь Загадка с поиском

Byteman

Мой дом здесь!
Регистрация
18 Мар 2008
Сообщения
484
Реакции
242
Здравствуйте!

Загадка такая: поиск не находит результатов, если в начале поисковой фразы стоит слово "как".
Например, есть в магазине такие книги как:

Как стать лидером
Как себя вести
Как прожить не меньше 100 лет

и так далее.

Если в поиске написать слово как, либо фразу "как стать лидером", то поиск ничего не выдаст.
Если же, например, написать "стать лидером" или просто "лидер", то поиск найдёт нужную книгу.

А вот, если, например, мы хотим найти книгу "Без стресса" и напишем в поиске просто слово "Без", то поиск сразу же найдёт данную книгу.

Единственное смутное предположение - поиск не устраивает, что в слове всего 2 разные буквы: "к" плюс "а"?

Не приходит сразу в голову какой другой товар есть, чтобы начинался на 3 буквы и из них только 2 разные были, чтобы проверить гипотезу ))

Поиск неполноценно работает. Помогите решить ребус, чтобы все товары находились!
 
Может, слово "как" у вас в стоп-листе?
 
Может, слово "как" у вас в стоп-листе?
Точно! Спасибо.
Тогда хотелось бы разобраться с этими стоп-листами.
Какой их смысл? Я бы понимал, если бы в них были занесены матерные слова в магазине для детей.
Хотя, всё равно в магазине для детей таких слов не будет )
То есть, в чём смысл? Вижу вред: посетитель ищет книгу "Как стать лидером", пишет в поиске "Как стать лидером" и в результате, клиент книгу не находит.
Этот список я не составлял и ни у кого более доступа туда нет.
То есть, видимо это стандартный список, который устанавливается при инсталляции языка.

Вот какой у меня список для русского языка:

о|над|после|опять|против|все|и|любой|как|у|быть|потому|было|перед|является|под|между|оба|обе|но|по|возможно|невозможно|делать|делает|делается|делая|сделано|вниз|внизу|течение|каждый|каждая|мало|несколько|для|от|далее|было|был|была|были|иметь|имеет|имея|имеют|он|него|его|она|неё|её|здесь|сам|сама|как|если|в|внутрь|внутри|есть|это|этим|этому|этого|само|пусть|мне|меня|мною|больше|самый|самая|самое|мой|моё|себя|себе|собой|нет|не|из|вне|на|однажды|только|или|прочее|прочая|прочий|прочие|наш|наша|наши|нашим|свой|своя|свои|своё|вне|поверх|сверху|собственный|собственная|собственные|такой|такая|такое|такие|таких|такими|следует|следуют|так|чем|этот|это|эта|эти|этим|их|тот|та|те|они|то|тогда|там|здесь|этих|через|к|слишком|под|до|пока|верх|вверх|очень|был|была|были|было|мы|нас|что|когда|где|какой|который|кто|кого|кому|кем|почему|с|выигрыш|должно|вы|ваш|ваше|вас|вам|вашим|вашем|вашему|вашей

В помощи престы нашёл только это:

"Blacklisted words. You can choose the terms that must not be found by your visitors. Enter them directly into the field, separated by "|" ("pipe" character, not lowercase L). By default, PrestaShop fills the list with common short words."

Буду рад пояснениям.
Зачем это нужно и как разумно составлять?

Чем, собственно, эти слова мешают? Каким-то образом грузят сервер? Я этого пока не замечаю: пишу в поиске "Без" и мгновенно всё находится. При этом в магазине десятки тысяч товаров.
 
Последнее редактирование:
Первое, что приходит на ум - разрабы не телепаты и не могут предугадать, что именно подойдёт/не подойдёт вашему магазину, поэтому пытаются сделать так, чтобы было оптимально, они не смогут угодить сразу всем. Кроме того, стоп-лист - это как правило перевод английского, никто же в команде разрабов престы не делал, да и вряд ли когда-нибудь сделает частотный анализ слов именно для русского языка. А так я думаю, что такие вводные слова-предлоги в стоп-листе именно для оптимизации и ускорения поиска.
Просто ваши настройки поиска оказались не совсем оптимальны для вас: у вас видимо ищется по совпадению с начала строки, а судя по вашим заявлениям, вам нужно искать любую подстроку , неважно, в центре, в начале или в конце названия товара она находится. Но в этом случае поиск может замедляться.
 
Первое, что приходит на ум - разрабы не телепаты и не могут предугадать, что именно подойдёт/не подойдёт вашему магазину

Я исхожу из простой логики: в большой части случаев человек знает какую книгу найти хочет и вводит её название, начиная с первых слов.
То есть в случае с книгой "Как стать лидером", он начинает со слова "как".
Если автоподсказка после этого ещё не выдала нужный результат (или пользователь ещё не заметил его в списке), то он продолжает печатать дальше.
А нагрузку автоподсказки, наверное можно ограничить, увеличивая количество введённых знаков, после которых автоподсказка запускается?
 
Странно. Я стёр весь стоп-список русского языка, почистил кэш сервера и браузера, но поиск по-прежнему не находит ту же "Как стать лидером" и др. книги с приставкой "Как".
 
Я исхожу из простой логики: в большой части случаев человек знает какую книгу найти хочет и вводит её название, начиная с первых слов.
Во-первых, не обязательно, а во-вторых, это как раз ваша работа, а не разрабов - адаптировать свой поисковый индекс под запросы вашей целевой аудитории.

Странно. Я стёр весь стоп-список русского языка, почистил кэш сервера и браузера, но поиск по-прежнему не находит ту же "Как стать лидером" и др. книги с приставкой "Как".
А переиндексацию поиска делали?
 
А переиндексацию поиска делали?

Точно! Не сделал. Вернее, теперь сделал. Длилась минут 10 или 15. Ну, и конечно, теперь всё находит.
Итак, весь стоп-лист удалён. При этом я не замечаю никакого замедления поиска.
При этом в магазине почти 60 тысяч товаров на 3 языках.
И результатом поиска очень доволен: написал "Как стать" и выдаёт все товары, где оба слова присутствуют - то, что и требуется.
Я так толком и не понял глубинного потаённого смысла этого списка.
А понять хотелось бы. На конкретных примерах.
 
Точно! Не сделал. Вернее, теперь сделал. Длилась минут 10 или 15. Ну, и конечно, теперь всё находит.
Итак, весь стоп-лист удалён. При этом я не замечаю никакого замедления поиска.
При этом в магазине почти 60 тысяч товаров на 3 языках.
И результатом поиска очень доволен: написал "Как стать" и выдаёт все товары, где оба слова присутствуют - то, что и требуется.
Я так толком и не понял глубинного потаённого смысла этого списка.
А понять хотелось бы. На конкретных примерах.

А как вы увидите замедление? Вам надо сымитировать поиск одновременно хотя бы 100 клиентов. Тогда увидите.
 
Просто ваши настройки поиска оказались не совсем оптимальны для вас:
у вас видимо ищется по совпадению с начала строки, а судя по вашим заявлениям, вам нужно искать любую подстроку , неважно, в центре, в начале или в конце названия товара она находится.
Но в этом случае поиск может замедляться.
Нет, НЕ по совпадению с начала строки.
Например, пишу в поиске "Как начать" и поиск выдаёт:
Кризис как шанс начать жить лучше
Страх близости: Как перестать защищаться и начать любить
Как начать жить и не облажаться
и т. д.

А опция "Искать подстроку" выключена.
И в контекстной подсказке пишется, что опция касается слов, а не предложений.
Цитирую:
"По умолчанию, чтобы найти "блузку", вам следует вводить "блуз", "блу", и т.д. (начало слова), но не "лузк" (середина слова).
Если включить, то можно будет искать "луз", "узк" или любую подстроку."
 
Назад
Сверху