Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как усовершенствовать поиск?
 
 автор: Алл   (04.05.2005 в 11:36)   письмо автору
2.6 Кб
 
 

Как мне усовершенствовать этот поиск, чтобы он реагировал и на запросы которые прописываются словосочетаниями.
Сейчас идет запрос к базе в которой находятся название фото и ключевые слова через запятую, по одиночке они работают, а словосочетанием нет.
Скрипт поиска прикреплен.
Базу прикреплять не стал. Там название фото и ключевые слова через запятую (я уже писал выше).
Что надо подправить в существующем скрипте?

   
 
 автор: Flash5   (04.05.2005 в 12:57)   письмо автору
 
   для: Алл   (04.05.2005 в 11:36)
 

Я немного уточню ваш вопрос, вы имеете в виду какой надо сделать запрос что бы получить нужный результат?
Я с точностью не могу утверждать но что если воспользоваться операторами and и or в этом случае мы будем иметь код
$Query = "select * from 'MyBase' where (KeyWord='*slovodoin*')AND(KeyWord='*slovodva*')";
Прошу прошения если есть ошибка в синтаксисе, так как писал по памяти

   
 
 автор: Алл   (04.05.2005 в 14:19)   письмо автору
 
   для: Flash5   (04.05.2005 в 12:57)
 

Не могли ли Вы подробнее остановиться на Вашем предложении, в PHP я не специалист, поэтому можно обьяснить поподробнее?

   
 
 автор: Flash5   (04.05.2005 в 14:48)   письмо автору
 
   для: Алл   (04.05.2005 в 14:19)
 

Ок, я просто знаю о том что в новых версиях SQL есть поддержка конструкции (something) AND (something), кстати этот алгоритм многие использовали как уязвимость (подробней можете прочитать в разделе статьи, создание безопасных скриптов).
Так вот в SQL ест возможность указать фрагмент поиска вроде *myword* что означает что мы ищем текс который содержит "myword" (без кавычек).
А теперь представьте что вам нужно сделать, вы ищите текст который содержит оба слова (можно сделать что бы он искал те варианты когда совпадает один из слов). В этом случае мы будем использовать логические выражение AND и OR. Что в переводе означаю логическое "и" и логическое "или". Работают эти выражения так

True AND True = True
True AND False = False
False AND True = False
False AND False = False

True OR True = True
True OR False = True
False OR True = True
False OR False = False

Наш запрос имеет вид
... where (KeyWords='*word1*')and(KeyWords='*word2*')
мы говорим что нам нужны те записи в которых поле KeyWords которое удовлетворяет одновременно оба вырождения одновременно (KeyWords='*word1*')=true и (KeyWords='*word2*')=true.
Что вы и хотели получить

Я вот только не помню как правильно
... where (KeyWords='*word1*')and(KeyWords='*word2*')
или
... where ((KeyWords='*word1*')and(KeyWords='*word2*'))

   
 
 автор: Алл   (05.05.2005 в 09:18)   письмо автору
 
   для: Flash5   (04.05.2005 в 14:48)
 

А если не SQL?

   
 
 автор: cheops   (04.05.2005 в 22:24)   письмо автору
 
   для: Алл   (04.05.2005 в 11:36)
 

Приведите пример пожалуйста запроса который не работает, но вы хотели бы, чтобы он работал?

   
 
 автор: Алл   (05.05.2005 в 09:11)   письмо автору
 
   для: cheops   (04.05.2005 в 22:24)
 

Запрос примерно, такой: белоснежная лилия
По отдельности слово белоснежная или слово лилия обнаруживается, так как они вбиты еще и по отдельности, а словосочетанием (оно тоже вбито как ключевое слово) поиск не обнаруживает.

   
 
 автор: cheops   (05.05.2005 в 09:50)   письмо автору
 
   для: Алл   (05.05.2005 в 09:11)
 

Сейчас убегаю - приду только вечером, если ответов не будет поднимите тему ещё раз, чтобы я не забыл :)))

   
 
 автор: Flash5   (05.05.2005 в 12:06)   письмо автору
 
   для: Алл   (05.05.2005 в 09:11)
 

Вам тогда нужно по линку
http://www.php.net/manual/ru/function.preg-match.php
Поможет решить не только данную проблему! Вещь нужная :-)

   
 
 автор: Алл   (06.05.2005 в 07:48)   письмо автору
 
   для: Flash5   (05.05.2005 в 12:06)
 

Хотелось бы разобраться в этом по подробнее!

   
 
 автор: Алл   (12.05.2005 в 12:58)   письмо автору
 
   для: Алл   (06.05.2005 в 07:48)
 

Что мне надо переделать в уже существующем поиске?

   
 
 автор: Алл   (13.05.2005 в 11:06)   письмо автору
 
   для: Алл   (12.05.2005 в 12:58)
 

Ответьте пожалуйста!

   
 
 автор: cheops   (13.05.2005 в 13:05)   письмо автору
 
   для: Алл   (13.05.2005 в 11:06)
 

Дайте пожалуйста ссылку на страницу, где требуется осуществлять поиск по словосочетаниям, просто когда я берусь за скрипт у меня отсутствует материал для работы, а точное название вашего сайта я уже забыл...

   
 
 автор: Алл   (14.05.2005 в 11:04)   письмо автору
 
   для: cheops   (13.05.2005 в 13:05)
 

Адрес сайта:
www.photogor.com

   
 
 автор: cheops   (14.05.2005 в 14:03)   письмо автору
 
   для: Алл   (14.05.2005 в 11:04)
 

Вы не можете мне дать кусок файла base.txt, относящийся к какой-нибудь из страниц http://www.photogor.com/g_industr.htm? Ключевые слова разделяются у нас пробелами или запятыми?

   
 
 автор: Алл   (16.05.2005 в 06:07)   письмо автору
 
   для: cheops   (14.05.2005 в 14:03)
 

сейчас пока его нет с собой, но примерно он выглядет так
/название папки где лежат фотки/ ключ. слово 1, ключ. слово 2, ключ слово 3
т.е слова разделяются запятыми.

   
 
 автор: cheops   (16.05.2005 в 11:50)   письмо автору
 
   для: Алл   (16.05.2005 в 06:07)
 

ключ - это цифра?

   
 
 автор: Алл   (16.05.2005 в 14:31)   письмо автору
 
   для: cheops   (16.05.2005 в 11:50)
 

ключ - это сокращенние от слова "ключевое", т.е.
/папка где лежат фотки/ лилия, ромашка, гладиолус, роза
примерно так это выглядит.

   
 
 автор: cheops   (17.05.2005 в 12:43)   письмо автору
2.7 Кб
 
   для: Алл   (16.05.2005 в 14:31)
 

Попробуйте вот этот файл.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования