За последние 24 часа нас посетили 59489 программистов и 1857 роботов. Сейчас ищет 1371 программист ...

Требуется помощь с организацией поиска!

Тема в разделе "PHP и базы данных", создана пользователем kirpi4, 15 мар 2009.

  1. kirpi4

    kirpi4 Активный пользователь

    С нами с:
    15 мар 2009
    Сообщения:
    17
    Симпатии:
    0
    Адрес:
    Moscow
    Здраствуйте.
    Начну с того что руки у меня кривые а мышление очень креативное так вот написал я значит поиск лоховской, но после его теста понял что он обсольтно не умееть искать правильно, тоесть, он ищет, но ищет как, если написать в поиске "свет газ вода", и в обьявлении имеется "свет, газ, вода", но ежели написать "газ вода свет" то он уже не выведет обьявление....
    но это полбеды, при повторном прочтении своего кода, я понял что я идиот =)))) код написан очень геморно и очень обьемно...
    Люди добрые помогите мне избавиться от первой проблемы и помогите оптимизировать код..... очень надо прошу до посинения стоя на коленях =)
    вот код
    PHP:
    1.  
    2.     function land_search($args)
    3.     {
    4.         $desc = $_POST['desc'];
    5.         $cenmin = $_POST['cenmin'];
    6.         $cenmax = $_POST['cenmax'];
    7.         if(!$_POST['desc'] and !$args[1]){$desc=" ";}
    8.         if($args[2]!=""){$cenmin=$args[2];}
    9.         if($args[3]!=""){$cenmax=$args[3];}
    10.         if (!$cenmax){$cenmax="9999";}
    11.         if(!$cenmin){$cenmin="1";}
    12.         if ($desc!="" or $args[1]!="" or $cenmin!="" or $cenmax!=""){
    13.         if (!$desc){$desc=urldecode($args[1]);}
    14.         $desc = str_replace("  ", " ", $desc);
    15.         $desc = str_replace(" ", "%", $desc);
    16.         $page=(isset($args[0]))?$args[0]:1;
    17.         $perpage=20;
    18.         $start=($page-1)*$perpage;
    19.         $res = $this->m['db']->query("select * from land WHERE (price BETWEEN '$cenmin' AND '$cenmax') AND (description LIKE '%$desc%') order by my desc, to_mkad");
    20.         $num=$this->m['db']->get_num_rows($res);
    21.         $res = $this->m['db']->query("select * from land WHERE (price BETWEEN '$cenmin' AND '$cenmax') AND (description LIKE '%$desc%') order by my desc, to_mkad limit $start, $perpage");
    22.         $con .= "
    23. <form action='/land_search/' method=post>
    24. <table border=\"0\">
    25.     <tr>
    26.         <td valign=\"bottom\">Ключевое слово</td>
    27.         <td valign=\"bottom\">Цена От:</td>
    28.         <td valign=\"bottom\">До:</td>
    29.         <td>&nbsp;</td>
    30.     </tr>
    31.     <tr>
    32.         <td style=\"padding: 7px;\"><input type=\"text\" name=\"desc\" value=\"".$_POST['desc']."\" size=\"70\"></td>
    33.         <td style=\"padding: 7px;\"><input type=\"text\" name=\"cenmin\" value=\"".$_POST['cenmin']."\" size=\"10\"></td>
    34.         <td style=\"padding: 7px;\"><input type=\"text\" name=\"cenmax\" value=\"".$_POST['cenmax']."\" size=\"10\"></td>
    35.         <td style=\"padding: 7px;\">&nbsp;<input type=submit value='Поиск'></form></td>
    36.     </tr>
    37. </table><br>
    38.        
    39.        
    40.         <table class='land_tab' width=100% cellspacing=0 cellpadding=0><tr class=line1>
    41.         <td align=center style=\"padding: 7px;\"><B>№</B></td>
    42.         <td align=center style=\"padding: 7px;\"><B>Км. от МКАД</B></td>
    43.         <td align=center style=\"padding: 7px;\"><B>Цена тыс.$</B></td>
    44.         <td align=center style=\"padding: 7px;\"><font size='4'>S</font><B>уч.</B></td>
    45.         <td align=center style=\"padding: 7px;\" width='170'><B>Направление / Нас. пункт</B></td>
    46.         <td align=center style=\"padding: 7px;\"><B>Описание</B></td>
    47.         <td align=center style=\"padding: 7px;\"><B>Фото</B></td>
    48.         </tr>";
    49.         $k = $start;
    50.         while ($r = $this->m['db']->fetch_array($res)) {
    51.             $k++;
    52.             $st = ($k % 2) ? "line2" : "line1";
    53.             $con .= "<tr class='$st'>
    54.                 <td align=center style=\"padding: 7px;\">$k</td>
    55.                 <td align=center style=\"padding: 7px;\">$r[to_mkad] км.</td>
    56.                 <td align=center style=\"padding: 7px;\">$r[price] $</td>
    57.                 <td align=center style=\"padding: 7px;\">$r[square]</td>
    58.                 <td align=center style=\"padding: 7px;\">$r[direction]<br>$r[town]</td>
    59.                 <td align=justify style=\"padding: 7px;\"><a href='./land_full/".$r['id']."'><font color='#DBDBDB'>$r[description]</font></a></td>
    60.                 <th align=center>" . ((file_exists(site_path . "/upload/$r[id].jpg")) ?
    61.             "<div id='good_img'><a href='/upload/$r[id].jpg'><img src='/thumb/$r[id]' width='130' alt='земельный участок, продажа земли ".$r[town]." ".$r[direction]."' title='земельный участок, продажа земли ".$r[town]." ".$r[direction]."'></a></div>" :
    62.             "<img src='/images/noimg.jpg' width='130' alt='земельный участок, продажа земли ".$r[town]." ".$r[direction]."' title='земельный участок, продажа земли ".$r[town]." ".$r[direction]."'>") . "</th>
    63.             </tr>";
    64.         }
    65.         $con .= "</table>";
    66.         $con .= "<h3>$num</h3>";
    67.         $con.="<table border=\"0\" width=\"100%\" id=\"table1\" cellspacing=\"0\" cellpadding=\"0\"><tr><td align=\"right\" width=\"50%\">".(($page>1)?"<a href='/land_search/".($page-1)."/".urlencode($desc)."/".$cenmin."/".$cenmax."'><<<Предыдущие</a>&nbsp;":"")."</td>";
    68.         $con.="<td align=\"left\" width=\"50%\">".((($page*$perpage)<$num)?"&nbsp;<a href='/land_search/".($page+1)."/".urlencode($desc)."/".$cenmin."/".$cenmax."'>Следующие>>></a>":"")."</td></tr></table>";
    69.        
    70.         }
    71.         else{
    72.        
    73.         $page=(isset($args[0]))?$args[0]:1;
    74.         $perpage=20;
    75.         $start=($page-1)*$perpage;
    76.         $res = $this->m['db']->query("select * from land order by my desc, to_mkad");
    77.         $num=$this->m['db']->get_num_rows($res);
    78.         $res = $this->m['db']->query("select * from land order by my desc, to_mkad limit $start, $perpage");
    79.         $con = "
    80. <form action='/land_search/' method=post>
    81. <table border=\"0\">
    82.     <tr>
    83.         <td valign=\"bottom\">Ключевое слово</td>
    84.         <td valign=\"bottom\">Цена От:</td>
    85.         <td valign=\"bottom\">До:</td>
    86.         <td>&nbsp;</td>
    87.     </tr>
    88.     <tr>
    89.         <td style=\"padding: 7px;\"><input type=\"text\" name=\"desc\" value=\"".$_POST['desc']."\" size=\"70\"></td>
    90.         <td style=\"padding: 7px;\"><input type=\"text\" name=\"cenmin\" value=\"".$_POST['cenmin']."\" size=\"10\"></td>
    91.         <td style=\"padding: 7px;\"><input type=\"text\" name=\"cenmax\" value=\"".$_POST['cenmax']."\" size=\"10\"></td>
    92.         <td style=\"padding: 7px;\">&nbsp;<input type=submit value='Поиск'></form></td>
    93.     </tr>
    94. </table>
    95.         <table class='land_tab' width=100% cellspacing=0 cellpadding=0><tr class=line1>
    96.         <td align=center style=\"padding: 7px;\"><B>№</B></td>
    97.         <td align=center style=\"padding: 7px;\"><B>Км. от МКАД</B></td>
    98.         <td align=center style=\"padding: 7px;\"><B>Цена тыс.$</B></td>
    99.         <td align=center style=\"padding: 7px;\"><font size='4'>S</font><B>уч.</B></td>
    100.         <td align=center style=\"padding: 7px;\" width='170'><B>Направление / Нас. пункт</B></td>
    101.         <td align=center style=\"padding: 7px;\"><B>Описание</B></td>
    102.         <td align=center style=\"padding: 7px;\"><B>Фото</B></td>
    103.         </tr>";
    104.         $k = $start;
    105.         while ($r = $this->m['db']->fetch_array($res)) {
    106.             $k++;
    107.             $st = ($k % 2) ? "line2" : "line1";
    108.             $con .= "<tr class='$st'>
    109.                 <td align=center style=\"padding: 7px;\">$k</td>
    110.                 <td align=center style=\"padding: 7px;\">$r[to_mkad] км.</td>
    111.                 <td align=center style=\"padding: 7px;\">$r[price] $</td>
    112.                 <td align=center style=\"padding: 7px;\">$r[square]</td>
    113.                 <td align=center style=\"padding: 7px;\">$r[direction]<br>$r[town]</td>
    114.                 <td align=justify style=\"padding: 7px;\"><a href='./land_full/".$r['id']."'><font color='#DBDBDB'>$r[description]</font></a></td>
    115.                 <th align=center>" . ((file_exists(site_path . "/upload/$r[id].jpg")) ?
    116.             "<div id='good_img'><a href='/upload/$r[id].jpg'><img src='/thumb/$r[id]' width='130' alt='земельный участок, продажа земли ".$r[town]." ".$r[direction]."' title='земельный участок, продажа земли ".$r[town]." ".$r[direction]."'></a></div>" :
    117.             "<img src='/images/noimg.jpg' width='130' alt='земельный участок, продажа земли ".$r[town]." ".$r[direction]."' title='земельный участок, продажа земли ".$r[town]." ".$r[direction]."'>") . "</th>
    118.             </tr>";
    119.         }
    120.         $con .= "</table>";
    121.         $con.="<table border=\"0\" width=\"100%\" id=\"table1\" cellspacing=\"0\" cellpadding=\"0\"><tr><td align=\"right\" width=\"50%\">".(($page>1)?"<a href='/land/".($page-1)."'><<<Предыдущие</a>&nbsp;":"")."</td>";
    122.         $con.="<td align=\"left\" width=\"50%\">".((($page*$perpage)<$num)?"&nbsp;<a href='/land/".($page+1)."'>Следующие>>></a>":"")."</td></tr></table>";}
    123.         $this->m['t']->set('title', "Земельные участки");
    124.         $this->m['t']->set('main', $con);
    125.         $this->desc('land', $page);
    126.         $this->m['t']->show('indexfull');
    127.         }
    128.  
     
  2. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
  3. kirpi4

    kirpi4 Активный пользователь

    С нами с:
    15 мар 2009
    Сообщения:
    17
    Симпатии:
    0
    Адрес:
    Moscow
    поподробней хотябы чуточку можно?
     
  4. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
  5. kirpi4

    kirpi4 Активный пользователь

    С нами с:
    15 мар 2009
    Сообщения:
    17
    Симпатии:
    0
    Адрес:
    Moscow
    к сожалению не подходит... =(
     
  6. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    Можешь аргументировать почему не подходит?

    В принципе если свой сервер идеальным решением будет сфинкс.
     
  7. kirpi4

    kirpi4 Активный пользователь

    С нами с:
    15 мар 2009
    Сообщения:
    17
    Симпатии:
    0
    Адрес:
    Moscow
    нет сервер не свой оббычный хостинг...
    не бодходит по томучто нужно постоянно сначала индексировать... что не есть гуд.... плюс это очень трудоемко.....
    я кстати придумал как примерно избавиться но моих знаний наврядли хватит...
    Смысл какой... каждое слово разделенное пробелом он записывает в массив затем проверят каждое слово отдельно записывает в найденный масив затем отфильтровывает одинаковые обьявления... но на это моих знаний наврятли хватит...
    Поэтому люди очень прошу помогить сделать так как я описал выше....
     
  8. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Тогда проще, каждое слово разделенное разделителем пихаешь в массив, а потом делаешь поиск не where description LIKE '%$desc%', а

    where description LIKE '%$desc[0]%' and description LIKE '%$desc[1]%' and description LIKE '%$desc[3]%' и так пока массив не кончится.
     
  9. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    kirpi4, у меня было похожее решение, я создал таблицу(к сожалению исходный код был умерщвлен за ненужностью):

    url word weight

    Индексация была такой:

    1. Обрабатываем текст, делаем несколько массивов слов по весам(у меня был вес от одного до 10-ти, разделение типа "редкие" слова, слово было в ссылке, слово было в заголовке и т.д.
    2. Затем слова обрабатывались PHPMorphy и выбиралась нормальная форма каждого из слов.
    3. Пишем слова в базу, причем пишем и "нормальную" форму и ту которая была использована в тексте изначальной, для той что была использована в тексте изначально ставим вес в 2 раза Выше.

    Поиск таким:
    0. если текст очень маленький или очень большой шлем нах
    1. Делаем из введенного текста массив слов.
    2. Делаем из введенного текста массив слов в нормальной форме (через PHPMorphy)
    3. Ищем, не помню точного запроса, было что то вроде: 2 запроса в одном только слова в ранее введенной форме, во втором все слова, групировка по URL, сортируем по SUM(weight)


    По тому с какой скоростью это работало не скажу, т.к. на высоконагруженных проектах он не использовался.
    Но думаю оно работало довольно таки медленно.

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

    1. Переводим все слова в транслит.
    2. Считаем для них DM-код
    3. Пишем слово и DM код в БД.

    Ну а при поиске текст запроса преобразовываем в Дм код и выбираем вначале слово в нормальной форме, а потом все совпадающие ДМ коды.

    В результате получилось ужасное позорище: (возможно конечно у меня косячно цифровой код генерился), например по запросу
    "Аля" выводилось:
    Аля, Оля (что нормально)
    Алсу, Олеся (что сурово)
    Илья(что вообще косяк)

    А по запросу "Мудак" находился Митька(о_О).

    Перепробовав еще несколько вариантов(для поржать хватит и этих двух, умного там ничего не было, поэтому выкладывать не буду) я понял что с моим опытом работы (1.5 года) я не смогу написать нормальную поисковую систему, которая бы быстро искала как слова в разной форме так и слова с Ашибками. И если нужен будет такой поиск буду юзать Sphinx чего и Вам желаю :)
     
  10. kirpi4

    kirpi4 Активный пользователь

    С нами с:
    15 мар 2009
    Сообщения:
    17
    Симпатии:
    0
    Адрес:
    Moscow
    хм... говорите сфинкс... можете тогда помочь с установкой... просто что что а никакие скрипты на перле я не умею юзать...
    По поводу слов с ашибками ведь есть сервисы которые проверяют на правельность слов а почемубы нам не прикрутить такую шнягу чтоб сначала проверило а затем искало???
     
  11. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    kirpi4, потому что если на Вашем сайте будет искать хотя бы несколько тысяч человек этот сервис Вас забанит, а даже если и не забанит, то Ожидание ответа от удаленного сервиса для каждого поискового запроса Вас "убъёт"

    Не совсем понимаю при чем тут Perl, Sphinx написана на C++. Официальное Api для PHP также имеется.

    Вот пара ссылок "для затравки":
    Простое пример применения Sphinx и PHP.
    Что-то похожее, но немного другое

    Увы, я не смогу Вам рассказать больше этих ссылок поскольку читал только их + английский мануал.

    На РИТе и PHPConf 2008 Аксёнов рассказывал про Sphinx, но к сожалению у меня видео не сохранилось.


    UPD: Еще можете попробовать Psih'a отловить на этом форуме, он в свое время меня с Sphinx познакомил
     
  12. kirpi4

    kirpi4 Активный пользователь

    С нами с:
    15 мар 2009
    Сообщения:
    17
    Симпатии:
    0
    Адрес:
    Moscow
    спасибо почитаю.... и еще вопросик подскажите как пребразовать код чтобы он отфильровывал пустые массивы и еще слова которые состоят из менее чем 3 букв...
    PHP:
    1. <?php
    2.  $string='Вот, такой, дурацкий, текст, "проста "проверка; ;на фильтрацию/ /.символов. ,,';
    3.  
    4.  $s = array(",", ".", "/", "'", "\"", ":", ";", "-", "_", "!");
    5.   $bez_znaka = str_replace($s ,"", $string);
    6.   $arr1 = explode (" ", $bez_znaka);
    7.    for ($i = 0; $i <= count($arr1); $i++)
    8.   {
    9.     echo "$i - ".$arr1[$i]."\n";
    10.   }
    11.  
    12. ?>
    выполнением данного кода будет следующее
    Код (Text):
    1. 0 - Вот
    2. 1 - такой
    3. 2 - дурацкий
    4. 3 - текст
    5. 4 - проста
    6. 5 - проверка
    7. 6 - на
    8. 7 - фильтрацию
    9. 8 - символов
    10. 9 -
    11. 10 -
     
  13. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    kirpi4, пройтись по массиву
    PHP:
    1.  
    2. <?php
    3. foreach($arr1 as  $key=>$word){
    4.     if(empty($word)){
    5.          unset($arr1[$key]);
    6.     }
    7.     elseif(mb_strlen($arr1[$key])){
    8.          unset($arr1[$key]);        
    9.     }
    10. ?>
    11.  
    Либо изначально делить регуляркой и там выставить но ей будет дольше выполнятся
     
  14. alBoo

    alBoo Активный пользователь

    С нами с:
    27 мар 2008
    Сообщения:
    63
    Симпатии:
    0
    это?
     
  15. kirpi4

    kirpi4 Активный пользователь

    С нами с:
    15 мар 2009
    Сообщения:
    17
    Симпатии:
    0
    Адрес:
    Moscow
    дабы не создавать новую тему решил написать здесь....
    у меня возникла проблема следующего рода....
    имеется массив:

    Код (Text):
    1. [0] => 11
    2. [1] => 17
    3. [2] => 24
    4. [3] => 33
    5. [4] => 36
    и запрос в базу данных

    PHP:
    1. $res = $this->m['db']->query("select * from land order by my desc, to_mkad");
    Мне нужно чтобы этот запрос выбирал только те строки где id равен значениям из массива
    но чтобы в дальнейшем можно было выводить значения таким кодом

    PHP:
    1. while ($r = $this->m['db']->fetch_array($res)) {print $r[id];}
    Заранее блогодарю
     
  16. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    PHP:
    1.  
    2. <?php
    3.     $query = 'SELECT `la`, `la` FROM `tri_rubla` WHERE `id` IN ('.implode(', ', $myArr).')';
    4. ?>
    5.  
    Оно?
     
  17. kirpi4

    kirpi4 Активный пользователь

    С нами с:
    15 мар 2009
    Сообщения:
    17
    Симпатии:
    0
    Адрес:
    Moscow
    нет не работает =(
     
  18. kirpi4

    kirpi4 Активный пользователь

    С нами с:
    15 мар 2009
    Сообщения:
    17
    Симпатии:
    0
    Адрес:
    Moscow
    в общем я схему понял изменил и вроде заработало, но не так как надо..... он выбрал почемуто первый ид и все...
     
  19. kirpi4

    kirpi4 Активный пользователь

    С нами с:
    15 мар 2009
    Сообщения:
    17
    Симпатии:
    0
    Адрес:
    Moscow
    ух разобрался в чем дело было ему мешали скобочки =)))
    в итоге получил нечто вида
    PHP:
    1. $zapros = implode(', ', $arrs);
    2. $res = $this->m['db']->query("select * from land WHERE id IN ($zapros) order by my desc, to_mkad");
    Возник еще вопрос.... решил сделать так чтобы жырными буквами и белым цветом становились слова которые стоят в поиске... сделал но не до конца =))))
    что именно не работает :
    он вроде делает все как надо... но если допустим в поиске написанно "участок" а в обьявлении написанно "Участок" то он не станет его обводить...... как решить эту проблему???
    вот мой код помогите изменить....
    PHP:
    1. $r[description] = str_replace($word, "<font color='#FFFFFF'><b>$word</b></font>", $r[description]);
    Заранее благодарю.
    P.S. ОГРОМНОЕ СПАСИБО akrinel ТЫ МНЕ ОЧЕНЬ ПОМОГ!!!!!!!!
     
  20. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    Можно решить регуляркой. Но это, возможно, при больших наплывах посетителей будет тормозить.
    Впрочем можно поиграться с длинной текста, выводимого в результатах поиска или упростить регулярку. Короче, найти оптимальное сочетание "цена/качество".

    Пример регулярки из моего старого движка(точно работает на PHP 5.2.6, кодировка UTF-8):

    PHP:
    1.  
    2. <html>
    3.     <head>
    4.         <title></title>
    5.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    6.     </head>
    7.     <body>
    8. <?php
    9. $text  =  'Я средних размеров проверочный Текст. В отличии от других текстов, я могу быть написан как ТеКсТ и как текст, и даже как
    10. "Текст"  в любом случае выделятся будет только слово текст отдельно стоящее, а не являющееся частью другого слова. Это, бесспорно, в какой-то мере ошибочно.
    11. Например слово "текстов" было бы неплохо выделить. Это ведь тоже Я! Но уж очень лениво было моему создателю писать для этого регулярное выражение.
    12. Также стоит заметить: в регулярном выражении стоит учитывать, что я могу писаться слитно с каким либо пунктационным знаком.
    13. Например:  текст. Текст! ТеКсТ?
    14. P.S. Я набран совершенно безграмотным человек, так что &laquo;Grammar nazi&raquo;
    15. здесь делать нечего. Мой создатель и так знает, что я полон ошибками.
    16. Спасибо за Внимание.
    17.  
    18. С уважением, Ваш Текст.';
    19.  
    20. echo  '<h1>До</h1>';
    21. echo  '<pre>'.$text.'</pre><br />';
    22.  
    23. $text  =  preg_replace('/(текст)([\s\.\!\?\,\"]{1})/ui', '<span style="color: red">$1</span>$2', $text);
    24. echo  '<h1>После</h1>';
    25. echo  '<pre>'.$text.'</pre>';
    26. ?>     
    27.     </body>
    28. </html>
    29.  
    Мне тоже помогали и помогают ;) Я просто отдаю свой долг)
     
  21. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    А может всё таки FULLTEXT индекс? Он обновляет автоматом всё при добавлении, так что делать ничего дополнительно не надо, только SELECT запрос правильно написать.
     
  22. kirpi4

    kirpi4 Активный пользователь

    С нами с:
    15 мар 2009
    Сообщения:
    17
    Симпатии:
    0
    Адрес:
    Moscow
    Psih
    Если быть честным то FULLTEXT индекс я не стал использовать только лиш по тому что даже понятия не имею о нем темболее как он работает и как при помощи него написать поиск =))))
    поэтому если ты приведеш самый простой пример поиска на нем то наверняка переведу поиск =)
     
  23. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    kirpi4
    В мануале по mysql это врекрасно описано, в добавок куча статей только на одном хабре: http://habrahabr.ru/search/?q=fulltext+mysql (http://habrahabr.ru/blogs/webdev/40218/ прекрасная статья именно о Fulltext search) , а уж в интернете и того больше. Fulltext search не подходит только в том случае, если кол-во данный начинает переваливать за несколько гигабайт, тогда уже надо переходить на Sphinx - и то, жить можно, просто MySQL долго думает с большим кол-вом данных.
     
  24. kirpi4

    kirpi4 Активный пользователь

    С нами с:
    15 мар 2009
    Сообщения:
    17
    Симпатии:
    0
    Адрес:
    Moscow
    спасибо на досуге почитаю.... =)
    если интересно что у меня уже получилось можете посмотреть land25.ru/land/search/
     
  25. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    kirpi4
    обновил верхнее сообщение