Поиск чисел с десятичным разделителем

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
KPEM
phpBB 1.2.0
Сообщения: 17
Стаж: 17 лет 3 месяца
Благодарил (а): 2 раза

Поиск чисел с десятичным разделителем

Сообщение KPEM »

Здравствуйте!

Очень прошу помощи у специалистов по озвученному ниже вопросу.

При запросе чисел с десятичным разделителем, например, 555.121, поиск автоматом исключает точку из поиска, меняя запрос на 555 121. Более того, поиск радостно сообщает ignored: 555. В результате ищется только 121, и при этом, находятся результаты, которые совершенно не нужны (ну зачем человеку 123.121, если он искал 555.121?). И нет хайлайтов на вхождениях 555.121, которые совершенно точно имеются на форуме.

Что бы такое сделать, чтобы запросы искались жестко, а точка никогда не исключалась и не делались игноры? Сделать именно с форумом, а не заставить пользователей учить поисковый синтаксис - плюсы, жесткие запросы и т.п.

Дело в том что из-за специфики форума (постинг чисел в американском формате) нужно, чтобы поиск тупо искал что ввели. Никакие "умные" автозамены, снижение нагрузки на поисковый механизм и т.п., совершенно не нужны.

Настройки сейчас такие:

Enable search facilities: Yes
Search backend: Fulltext native
Enable fulltext updating: Yes
Min characters indexed by search: 2
Max characters indexed by search: 30
Common word threshold: 5%

phpBB 3.0.7

Заранее спасибо.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Поиск чисел с десятичным разделителем

Сообщение rxu »

KPEM писал(а):Более того, поиск радостно сообщает ignored: 555.
Проверил - 555 121 нормально ищется и подсвечивается.
В языковом файле search_ignore_words.php нет 555 случаем?
Либо оно является общим словом, игнорируемым при поиске.
Изображение
KPEM
phpBB 1.2.0
Сообщения: 17
Стаж: 17 лет 3 месяца
Благодарил (а): 2 раза

Re: Поиск чисел с десятичным разделителем

Сообщение KPEM »

Спасибо за ответ.

Я поискал по этому форуму и отключил Common word threshold, поставив там ноль и пересоздав индекс. Теперь ignored не появляется над результатами поиска. Это шаг вперед для меня.

Но в результатах по-прежнему присутствует всякая пурга, вроде 111.121, 123.121, 777.121. И конечно же, запрос тоже выглядит не как 555.121 - точка съедается поисковиком форума (заменяется на пробел). То есть, запрос приобретает вид 555 121. Как бы это побороть? Мне не нужна такая самодеятельность форума. Мне нужно, чтобы поисковое слово было одним - как при изначальном вводе.

Хайлайты есть, если совпадение точное. Если, скажем, искать 555.12, то хайлайтов уже нет. Но это решается установкой звездочки.
Последний раз редактировалось KPEM 18.12.2010 12:02, всего редактировалось 1 раз.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Поиск чисел с десятичным разделителем

Сообщение rxu »

KPEM
Запрос "555 121" четко подсвечивает число 555.121. Могу привести скриншот.
Изображение
KPEM
phpBB 1.2.0
Сообщения: 17
Стаж: 17 лет 3 месяца
Благодарил (а): 2 раза

Re: Поиск чисел с десятичным разделителем

Сообщение KPEM »

Провел уточняющие эксперименты. Вы правы. Да, подсвечивает.

Но также он подсвечивает посты, где присутствуют вхождения 555 и 121 не в рамках одной подстроки! Мне это не нужно, а точнее, это откровенно вредно в моем случае. Кроме того, подсветка идет вхождения до точки и после точки. То есть, он находит вхождение 555.121 запросом двух слов по отдельности - 555 и 121. Мне надо, чтобы он воспринимал запрос с точкой как одну подстроку.

У вас есть идеи, как подработать механизм поиска, чтобы добиться цели? Я очень слаб в PHP.

Добавлено спустя 37 минут 25 секунд:
И смежный вопрос. Можно ли в search_synonyms.php добавить запятую в качестве синонима точки? Это нужно, чтобы числа в европейском формате (десятичный разделитель - запятая) искались наравне с американскими (десятичный разделитель - точка). Или это может повлечь какие-то негативные последствия? Или вообще ни на что не повлияет, так как та же точка, просто игнорируется?
KPEM
phpBB 1.2.0
Сообщения: 17
Стаж: 17 лет 3 месяца
Благодарил (а): 2 раза

Re: Поиск чисел с десятичным разделителем

Сообщение KPEM »

Будут у кого конструктивные мысли по двум озвученным вопросам?
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 6 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1454 раза

Re: Поиск чисел с десятичным разделителем

Сообщение Nekstati »

Если форум хорошо проиндексирован, можно сделать поиск по форуму с помощью Гугла/Яндекса.
KPEM
phpBB 1.2.0
Сообщения: 17
Стаж: 17 лет 3 месяца
Благодарил (а): 2 раза

Re: Поиск чисел с десятичным разделителем

Сообщение KPEM »

Нет, не вариант. Во-первых, он не полностью публичен. Все же, финансы. Во вторых, внешние поисковики еще больше умку включают. А тут как раз умка не нужна. Тупо жесткие запросы.

Вернуться в «Поддержка phpBB 3.0.х»