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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: использование FULLTEXT

Сообщения:  [1-7] 

 
 автор: marcus   (04.03.2007 в 01:44)   письмо автору
 
   для: XPraptor   (02.03.2007 в 04:03)
 

А addslashes экранирует символы ' - ' ?

chr(34) возвращает вроде двойные кавычки в коде:

against('" . chr(34) . $search . chr(34) . "*' in boolean mode)


тогда получаем частности:

against(' "." . $search . "." * ' in boolean mode) ... можно поподробнее что мы тут делаем?

   
 
 автор: XPraptor   (02.03.2007 в 04:03)   письмо автору
 
   для: marcus   (28.02.2007 в 18:37)
 

$search=addslashes($search);
select * from komponentiems where match(name) against('" . chr(34) . $search . chr(34) . "*' in boolean mode) limit 20

   
 
 автор: marcus   (28.02.2007 в 18:37)   письмо автору
 
   для: cheops   (28.02.2007 в 00:19)
 

Тогда придется анализировать каждый запрос на вхождение этого символа, что занимает также время на исполнение скрипта (задача снизить время исполнения скрипта). На данный момент если поиск по маске в базе обрабатывается с индексами , то в среднем занимает 0,0008сек, если в полнотекстовом - то меньше. Скрипт (передача и прочее) от 0,2 до 2сек занимают, что не особо приемлимо. Как можно организовать select запрос к базе с помощью cgi-fast?

   
 
 автор: cheops   (28.02.2007 в 00:19)   письмо автору
 
   для: marcus   (27.02.2007 в 19:41)
 

Могут, дело в том, что символ - в логическом режиме воспринимается как спец-символ... попробуйте его экранировать.

   
 
 автор: marcus   (27.02.2007 в 19:41)   письмо автору
 
   для: cheops   (27.02.2007 в 19:35)
 

все тоже самое выдает

могут ли на это влиять символы ' - ' ?

если делать как '\"$search \"', то только слово целиком находит, а нужна маска

   
 
 автор: cheops   (27.02.2007 в 19:35)   письмо автору
 
   для: marcus   (27.02.2007 в 18:46)
 

Уберите символ *
"select * from komponentiems where match(name) against('$search' in boolean mode) limit 20"

   
 
 автор: marcus   (27.02.2007 в 18:46)   письмо автору
 
 

Есть константная строка $search. Используется полнотекстовый поиск:
<code>
"select * from komponentiems where match(name) against('$search*' in boolean mode) limit 20"
</code>

как указать маску поиска так, чтобы искались в точности подстроки $search? причем в них могут входить символы -, +, (, ) и .т.д.

В данный момент работает так: ищу например ST-2500-3-N

выдает:

HDSP-2500
HLMP-2500-FG000
HLMP-2500
HLMP-AL06-N0000
HLMP-PB00-N0000
HLMP-PM00-N0000
HLMP-Q100-N0000

   

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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