Jump to content
  • 0

Поиск по сайту


Lamer
 Share

Question

16 answers to this question

Recommended Posts

  • 0

woweb.ru

есть скрипты.

можно юзать гугл для этих целей, но это если индексируется ваш сайт хорошо.

А вообще поиск по сайту - дело "интимное" и в каждом случае уникальное, все зависит от сайта.

Если у вас все страницы статичны, то их надо индексировать

Если все в бд лежит - то читать из бд

Link to comment
Share on other sites

  • 0
А вообще поиск по сайту - дело "интимное" и в каждом случае уникальное, все зависит от сайта.

Сайт абстрактный. Т.е. это может быть и статичный и динамический. Интерсно узнать какие есть варианты для решения данных проблем.

Link to comment
Share on other sites

  • 0

Индексация всех страниц сайта в БД, а затем поиск по БД. Криво... согласен, можно юзать Google API для установки поиска. Только я сам эти самым апи не пользовался, поэтому прийдется искать самому...

Edited by Ялекс
Link to comment
Share on other sites

  • 0

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

Индекс - это криво, и юзабельно только если контент постоянный, а в голову тока крон приходит \=

Link to comment
Share on other sites

  • 0

<?php

$search = htmlspecialchars($_POST['search']); // $search - какое то слово или предложение.

if (!$search)
{
echo 'Вы ввели не все необходимые сведения.<br />'.'Пожалуйста, вернитесь к предыдущей странице и повторите попытку.<br />';
}
else {

$icq = mysql_query("SELECT * FROM status WHERE id LIKE '$search' or text LIKE '%$search%' order by rating desc");


if ($icq)
{
echo 'Вы искали: "<b>'.$search.'</b>"<br /><br />';
while($row = mysql_fetch_array($icq))
{

echo $row['text']; // вывод найденного.

}


}
else
{
echo "<p><b>Error: ".mysql_error()."</b><p>";

}
}
?>

это мой первый скрипт поиска по бд ;) не самый лучший, но вариант =)

Link to comment
Share on other sites

  • 0

Я пробовал реализовать таким образом, тоже небольшой скрипт:


<?php
$db = mysql_connect("localhost","login","password");
mysql_select_db("name_bd",$db);
if (isset($_POST['submit_s']))
{
$submit_s = $_POST['submit_s'];
}
if (isset($_POST['search']))
{
$search = $_POST['search'];
}
if (isset($submit_s))
{
if (empty($search) or strlen($search) < 4)
{
exit ("<p>Поисковый запрос не был введен, либо введен, но менее 4-х символов</p>");
}
$search = trim($search);
$search = stripslashes($search);
$search = htmlspecialchars($search);
}
else
{
exit ("<p>Ошибка! Вы обратились к файлу на прямую, либо нажали enter!</p>");
}

$result = mysql_query("SELECT * FROM table WHERE MATCH(text) AGAINST('$search')",$db);
if (!$result)
{
echo "<p>Поиск завершился неудачей! Сообщите об этом автору сайта.<br>
<strong>Код ошибки:</strong>
</p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
printf ("<table class='tableborder'>
<tr>
<td><p>%s</p></td>
</tr>
<tr>
<td><p>%s</p></td>
</tr>
</table>", $myrow ["title"], $myrow ["text"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
echo ("<p>По вашему запросу ничего не найдено!<br>
Введите пожалуйста другое слово.
</p>");
exit();
}
?>

Но этот вариант меня не устроил, так как я хотел организовать поиск по всей базе (всем таблицам), а этот вариант ищет только в одной. :D

Link to comment
Share on other sites

  • 0

По всем таблицах искать тяжело. Хотя бы искать по отдельным модулем.

А какие преимущества этого поиска? Просто мне лень тестировать

Кстати, меня вполне устраивает вариант Джина, его надо только немного модернизировать.

Link to comment
Share on other sites

  • 0
По всем таблицах искать тяжело. Хотя бы искать по отдельным модулем.

А какие преимущества этого поиска? Просто мне лень тестировать

А ты протестируй, лень в таких случаях не допустима! :D

Link to comment
Share on other sites

  • 0
...а использовать гугл, как-то не очень.

Как раз таки очень, если вам интересен результат, а не процесс. Не думаю, что самому можно будет написать эффективный поиск с учетом флексии, словоформ и релевантности...

Link to comment
Share on other sites

  • 0

Я просто хочу для своего движка написать все сам.

P.S. можно на ты.

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

И я не хочу ни от кого зависеть.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy