Неправильно работает поиск по тексту сообщений

Всего 6 сообщ. | Показаны 1 - 6
Неправильно работает поиск по тексту сообщений
Например запрос по тексту сообщений nikon 20, насколько я понимаю алгоритм, должне показать сообщения, где есть слово "nikon" и число 20.

http://club.foto.ru/forum/textsearch.php?action=search&query=nikon+20&forum_id=4&date_interval=1&end_date=06.02.2009

Однако находятся сообщения в основном про Canon
Маркетинг? ;-)
Re[Дмитрий Заморин]:
Нет, просто поставили новый алгоритм, а текст не поправили. Теперь вместо "и" там поставили "или".
Re[Wasillew]:
ИМХО, поиск по ИЛИ вообще не нужен, либо в качестве дополнительной опции. По крайней мере, так работают все поисковые системы. Если мне нужно будет искать по ИЛИ я могу сделать два запроса. Но мне нужно именно по И.
Пожалуйста, подскажите, как мне сделать такой поиск по тексту сообщения.
Должен заметить, что поиск по заголовку работает по И
Re[Дмитрий Заморин]:
Пообщался с программистами, сказали, что более сложный запрос чем сейчас будет выполняться 10-15 минут и будет требовать больших ресурсов.
Re[Дмитрий Заморин]:
Ответ программистов ужасает ;-) Они решили снизить нагрузку на систему сделав неработоспособным поиск ;-))))) Ну вот я вообще не могу придумать, чего бы я хотел такого поискать на фото.ру из одного слова. А вы? Я обычно ищу по марке и модели - а это в любом случае несколько слов по И. А как иначе?

Понятно, что если по ИЛИ в системе 1000 записей а по И только 20, то для СУБД быстрее будет вывалить только первую страницу данных из этой 1000 и заставить дальше копаться пользователя, который, прокрутив пару страниц, НИКОГДА ВООБЩЕ больше поиском не воспользуется и не будет беспокоить достопочтимый сервер, чем прочитать весь индекс. Но вот для интернет-сервера однознано быстрее будет вывести 20 точно соответствующих записей, чем прокручивать 50 страниц мусора. Однако, даже и в этом случае, при правильно построенных индексах, разница во времени выполнения запроса будет незначительна как для пользователя, так и для загрузки системы. Удивительно, не правда ли, что ни на одном интернет-поисковике данной проблемы нет!? А ведь там куда больше данных.

Попросите программистов выполнить соответствующий запрос по И и по ИЛИ из служебной программы СУБД (не знаю, что там у вас - Oracle или MS SQL или что еще) и сравнить стоимость запросов и время выполнения. Хотя, даже и не знаю, судя по тому, что никто более в этой ветке не участвует, кроме меня никто поиском не пользуется ;-)
Re[Дмитрий Заморин]:
Там postgres, насколько я понял. А наличие индексов по тексту вообще сомнительно. А поисковики делаются, во, первых, на C, а не php (как, собственно, и все серьезные серверы), а, во-вторых, на кластере из многих машин. Здесь такое явно не планируется.
Ну, а насчет использования такого поиска - все правильно: я один раз попробовал, и решил, что без него лучше.