|
 2.6 Кб |
|
| Как мне усовершенствовать этот поиск, чтобы он реагировал и на запросы которые прописываются словосочетаниями.
Сейчас идет запрос к базе в которой находятся название фото и ключевые слова через запятую, по одиночке они работают, а словосочетанием нет.
Скрипт поиска прикреплен.
Базу прикреплять не стал. Там название фото и ключевые слова через запятую (я уже писал выше).
Что надо подправить в существующем скрипте? | |
|
|
|
|
|
|
|
для: Алл
(04.05.2005 в 11:36)
| | Я немного уточню ваш вопрос, вы имеете в виду какой надо сделать запрос что бы получить нужный результат?
Я с точностью не могу утверждать но что если воспользоваться операторами and и or в этом случае мы будем иметь код
$Query = "select * from 'MyBase' where (KeyWord='*slovodoin*')AND(KeyWord='*slovodva*')";
Прошу прошения если есть ошибка в синтаксисе, так как писал по памяти | |
|
|
|
|
|
|
|
для: Flash5
(04.05.2005 в 12:57)
| | Не могли ли Вы подробнее остановиться на Вашем предложении, в PHP я не специалист, поэтому можно обьяснить поподробнее? | |
|
|
|
|
|
|
|
для: Алл
(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*')) | |
|
|
|
|
|
|
|
для: Flash5
(04.05.2005 в 14:48)
| | А если не SQL? | |
|
|
|
|
|
|
|
для: Алл
(04.05.2005 в 11:36)
| | Приведите пример пожалуйста запроса который не работает, но вы хотели бы, чтобы он работал? | |
|
|
|
|
|
|
|
для: cheops
(04.05.2005 в 22:24)
| | Запрос примерно, такой: белоснежная лилия
По отдельности слово белоснежная или слово лилия обнаруживается, так как они вбиты еще и по отдельности, а словосочетанием (оно тоже вбито как ключевое слово) поиск не обнаруживает. | |
|
|
|
|
|
|
|
для: Алл
(05.05.2005 в 09:11)
| | Сейчас убегаю - приду только вечером, если ответов не будет поднимите тему ещё раз, чтобы я не забыл :))) | |
|
|
|
|
|
|
|
для: Алл
(05.05.2005 в 09:11)
| | Вам тогда нужно по линку
http://www.php.net/manual/ru/function.preg-match.php
Поможет решить не только данную проблему! Вещь нужная :-) | |
|
|
|
|
|
|
|
для: Flash5
(05.05.2005 в 12:06)
| | Хотелось бы разобраться в этом по подробнее! | |
|
|
|
|
|
|
|
для: Алл
(06.05.2005 в 07:48)
| | Что мне надо переделать в уже существующем поиске? | |
|
|
|
|
|
|
|
для: Алл
(12.05.2005 в 12:58)
| | Ответьте пожалуйста! | |
|
|
|
|
|
|
|
для: Алл
(13.05.2005 в 11:06)
| | Дайте пожалуйста ссылку на страницу, где требуется осуществлять поиск по словосочетаниям, просто когда я берусь за скрипт у меня отсутствует материал для работы, а точное название вашего сайта я уже забыл... | |
|
|
|
|
|
|
|
для: cheops
(13.05.2005 в 13:05)
| | Адрес сайта:
www.photogor.com | |
|
|
|
|
|
|
|
для: Алл
(14.05.2005 в 11:04)
| | Вы не можете мне дать кусок файла base.txt, относящийся к какой-нибудь из страниц http://www.photogor.com/g_industr.htm? Ключевые слова разделяются у нас пробелами или запятыми? | |
|
|
|
|
|
|
|
для: cheops
(14.05.2005 в 14:03)
| | сейчас пока его нет с собой, но примерно он выглядет так
/название папки где лежат фотки/ ключ. слово 1, ключ. слово 2, ключ слово 3
т.е слова разделяются запятыми. | |
|
|
|
|
|
|
|
для: Алл
(16.05.2005 в 06:07)
| | ключ - это цифра? | |
|
|
|
|
|
|
|
для: cheops
(16.05.2005 в 11:50)
| | ключ - это сокращенние от слова "ключевое", т.е.
/папка где лежат фотки/ лилия, ромашка, гладиолус, роза
примерно так это выглядит. | |
|
|
|
|
 2.7 Кб |
|
|
для: Алл
(16.05.2005 в 14:31)
| | Попробуйте вот этот файл. | |
|
|
|