Я читал сообщения на форуме, что народ не выключает во время создания таблиц форум. Вот и хотел узнать насколько это критично? Предыдущий МОД reindex не выключал.
Мне крайне нежелательно отключать форум даже на несколько часов.
Продолжаю тюнить свой ПОИСК. Поскольку наличие стоп-листов помогло, то пробежался по таблице search_wordlist. Возникло несколько вопросов:
1. Можно ли узнать количество ссылок по каждому слову, чтобы исключить заведомо те слова (типа "мне"), которые не вносят смысла и вряд ли будут использоваться пользователями, но ссылок на которые немеряно? Как это можно посмотреть?
2. Не обнаружил слов с буквой ё, значит МОД ё наверное и не нужен?
3. Возвращаясь к вопросу о закрытии форума. Мне интересно все-таки (тем более, что закрывать придется не на пару часов, а на 6-7), насколько чревато это последствиями? Если во время создания поисковых таблиц будут добавляться новые темы, то они ведь автоматически попадут в поиск?
Ну я немного уже поднабрался опыта и вот мне непонятно совершенно, как может быть на 30 тыс. сообщений всего 135 тыс. слов? Какой у Вас стоп-лист?
У меня сейчас на тестовой базе идет сборка таблиц для поиска. Обработано 30% - это 4 тыс. сообщений и уже 150 тыс. слов. Соответственно 4.7 млн. (100 Мб) search_wordmatch. Что гораздо лучше, чем раньше.
search_wordlist как я понял заполняется просто словами из форума. Причем, я раньше думал, что если в сообщениях есть 50 слов "база", то в search_wordlist будет одно слово, а в search_wordmatch будет 50 ссылок. Как я ошибался. Оказывается в search_wordlist собираются все 50 слов "база". Или это и есть основная проблема? Или это у меня одного так? Поясните пожалуйста.
Добавлено спустя 20 минут 56 секунд:
Убедительная просьба проверить свою таблицу командой:
SELECT *
FROM `phpbb_search_wordlist`
ORDER BY `word_text` ASC
Если просто смотреть таблицу, то можно и не понять есть ли повторы. Но если применить сортировку по алфавиту
ORDER BY `word_text` ASC
то хорошо видно.
Вот у меня закралось сомнение. А может в этом и дело, что слова по какой-то причине повторяются?
Если у Вас есть возможность проверить таблицу слов, проверьте как у Вас? В phpMyAdmin это легко можно посмотреть, только надо обязательно указать сортировку.
У меня слова одинаковые, а ID разные:
word_text word_id word_common
галочку 3181698 0
галочку 3190708 0
галочку 3191902 0
галочку 3195453 0
галочку 3202747 0
и т.д.
Может в этом причина моих проблем? Если да, то где ковырять?
Добавлено спустя 6 минут 28 секунд:
Получается, что ошибка в МОДе создания поисковых слов?
Admin_777 писал(а):Получается, что ошибка в МОДе создания поисковых слов?
мод использует механизм форума, он просто перенаправляет заново сообщения в этот механизм. Так что ошибка может быть у вас в этом механизме, и почему - я не знаю. У меня повторов нет.
Спасибо, уже яснее куда двигаться. Пока буду проверять движок форума.
Может кто подскажет, какой файл отвечает за правильность создания поисковых таблиц? Чтобы search_wordlist не было повторов...
Напишите пожалуйста, какие файлы отвечают за формирование таблиц поиска? В какой модуль закралась ошибка, что одинаковым словам присваивается разный ID? Я пробовал 3-мя разными МОД-ами - везде результат один:
Может все-таки неверная кодировка работы форума с базой? Того что вы написали быть не должно...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений