zgr 72 Опубликовано: 12 августа 2010 Рассказать Опубликовано: 12 августа 2010 Привет, Целсофт. Наклепал облако поисковых запросов на сайте, т.е. как облако тегов, только запросов, которые пользователи вводят в поиск на сайте. Получил странные цифры для каждого поискового тега, отличные от тех, которые выводятся движком, проверил запросы, вроде бы они одинаковы, тем не менее цифры разные. Это баг движка или неправильно запрос составил? Если это я ошибся, подскажите, пожалуйста, как нужно. Например, я вбиваю в поиск по сайту запрос "стих", получаю: По Вашему запросу найдено 6 ответов в то время, как запрос показывает цифирь 15: $sql = "SELECT SQL_NO_CACHE COUNT(*) AS count FROM ".PREFIX."_post WHERE approve='1' && short_story LIKE '%$query%'"; $res = $db->super_query($sql); echo $count['count']; и не суть важно: делаю запрос через "super_query" или через "query" с подсчетом строк - полагаю, эти два варианта одинаковы, хотя не проверял в движке. Что интересно - перепробывал все варианты: ячейки short_story, title и прочие и их комбинации - цифры со стандартным поиском не сходятся. Где копать? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 12 августа 2010 Рассказать Опубликовано: 12 августа 2010 Наклепал облако поисковых запросов на сайте Это баг движка или неправильно запрос составил? как наклепали, то вы и видите. Скрипт в ваш код и запросы не вмешивается. Поэтому я понятия не имею что и где вы сделали неправильно. Эти три строчки никакой инфрмации что вы сделали неправильно не дают. Поэтому вам в соседний раздел по запросу на создания модификаций, а не ко мне. Цитата Ссылка на сообщение Поделиться на других сайтах
zgr 72 Опубликовано: 12 августа 2010 Рассказать Опубликовано: 12 августа 2010 Автор Поэтому я понятия не имею что и где вы сделали неправильно. Эти три строчки никакой инфрмации что вы сделали неправильно не дают. Как же так? При чем здесь другая ветка? Решил сделать подсчет совпадений в БД определенного текста, весь код я предоставил и хотел уточнить, так у вас подсчет идет или нет? Весь день ковырял ваш файл ( подсчет "результатов поиска совпадений") по адресу /engine/modules/search.php), проверил запрос, вроде он идентичный вашему, но цифру показывает не 6, а 15, что и вызвало недоумение, вот и подумалось - баг это или моя ошибка?.. Ну, могу еще несколько вариантов результатов распечатать, пролистать и сюда выложить, но это еще день у меня займет... Ладно, не хотите подсказать - сам еще поковыряю, зачем ерунду отписывать? Цитата Ссылка на сообщение Поделиться на других сайтах
zgr 72 Опубликовано: 13 августа 2010 Рассказать Опубликовано: 13 августа 2010 (изменено) Автор Ну вот, распечатал все найденные посты, проверил: поиск действительно глючит, по крайней мере у меня. Не знаю, может, где-то какой-то баг с моей стороны - случайно упала клавиатура и могла нажаться какая-то кнопка, пока смотрел стандартные файлы, либо какой-то хак - всё возможно. Будет возможность - проверю еще раз на чистой установке. Что есть сейчас по существу: стандартный поиск глючит - половина статей вообще не находится, поэтому при моем запросе я вижу 15 постов (все проверил - все 15 имеют запрос), при стандартном - 6. Например, нашлось в обоих вариантах в краткой новости: В.В. Маяковский. Как делать стихи? Нашлось в обоих вариантах: Акростих – это стих... Но, например, не нашлось стандартно: «женские стихи», Стихи для детей и прочие. С чем это связано - не копал еще, возможно, причина - склонения, Прописные или заглавные буквы, какие-то символы вокруг слов и т.д. Прошу всех, кому не в лом проверить у себя, почему глючит и действительно ли у всех глючит поиск. А Целсофта попросил бы подсказать как делается стандартная выборка - может, я чего-то не так понимаю в хитром скрипте? Изменено 13 августа 2010 пользователем zgr Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 13 августа 2010 Рассказать Опубликовано: 13 августа 2010 zgr, Ваш запрос даже близко не похож на те что использует DLE для поиска. DLE использует десятки различных настроек, как скрипта так и групп пользователя, имеет два геометрально противоположных типа поиска: простой и полнотекстовый, второй способный разбивать предложения на слова, который ищет не по тексту, а по специальной полнотекстовой базе ключей в MySQL. Например введите в поиск фразу "Стихи? Как делать? Маяковский" одной фразой и посмотрите что найдет DLE и что найдет ваш запрос, ваш запрос не найдет ничего в отличие от DLE. Поэтому прежде чем говорить что вам пишут о ерунде, нужно немного думать. А Целсофта попросил бы подсказать как делается стандартная выборка - может, я чего-то не так понимаю в хитром скрипте? Как я и писал выше зависит от десятка параметров настроек вашего скрипта, подредактируйте файл поиска и сделайте вывод самого запроса, который формирует скрипт, вы увидете какой запрос он использует для текущего состояния дел и настроек. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.