форум вебмастероff на AlfaSpace.NET |
Ubuntu и Linux
|реактивный бесплатный хостинг
| Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга
|
правила форума
| Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ ° |
| Форум вебмастеров на AlfaSpace.NET / Болтовня / Задача на сообразительность |
| Автор | Сообщение |
| Serg Участник 1812 |
# Дата: 5 Ноя 2007 22:02 Такая задачка. Есть таблица базы данных с ключевыми словами либо фразами, состоящими из скольки угодно слов. Есть словосочетание (в дальнейшем "сл-ние"). Нужно найти совпадения ключевых слов или фраз в сл-нии. Каждый кей из базы сравнивать со сл-нием - ресурсоемко, разбивать сл-ние на отдельные слова, программно обрезать окончания и сравнимать с ключевыми словами - тема. НО! как в таком случае быть с ключевыми фразами? На примере: сл-ние "вчера мы жарили шашлыки на мангале". разбиваем на слова и осуществляем поиск по каждому из них в базе. В базе есть ключ. фраза например "насрал в мангал". когда очередь доходит до слова "мангале", после морфологического преобразования получаем "мангал". Производим поиск по слову "мангал", тут-то наша фраза "насрал в мангал" и подойдет. А не должна, потому как условие "Нужно найти совпадения ключевых слов или фраз в сл-нии", а не наоборот. То есть сл-ние "вчера мы жарили шашлыки на мангале" не должно находить "насрал в мангал". Вот если "вчера мы жарили шашлыки на мангале, а потом я в него насрал" - было бы другое дело и тогда должно находить. Но как так сделать? Идею грамотной реализации готов оплатить. 30 баксов. |
| Borman Участник 1040 |
# Дата: 6 Ноя 2007 01:46 Яндекс пишем? Я как-то писал поиск в базе. Вот скрипт:
#!/usr/local/bin/php
<?php
if(isset($PATH_INFO))
{
$script=$PATH_INFO;
}
else
{
$script=$SCRIPT_NAME;
}
$pg = $script;
$log = "counter/logs/visits.log";
include ("counter/loger.php");
?>
<HTML>
<HEAD>
<TITLE>
RussianStorehouse.com
</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<style>
H1 {
FONT: 12px Tahoma
}
H2 {
FONT: bold 23px "Times New Roman"; COLOR: #800000
}
</style>
</HEAD>
<BODY leftMargin=0 topMargin=0 background="../images/fon2.gif">
<TABLE cellSpacing=0 cellPadding=0 width="780" border=0>
<TBODY>
<TR>
<TD width="776">
<p align="center"> <a href="index.php" target="_blank"><img border="0" src="imag Но, там таких нюансов не было предусмотрено, конечно. |
| Serg Участник 1812 |
# Дата: 6 Ноя 2007 06:54 » Borman Яндекс пишем?Бери выше
» Borman Я как-то писал поиск в базе. Вот скрипт:
... Но, там таких нюансов не было предусмотрено, конечно. Проблем с написанием поиска по базе у нас нет, проблема в создании алгоритма, учитывающего как раз эти нюансы. Такшто приведенный скрипт бесполезен. |
| Borman Участник 1040 |
# Дата: 6 Ноя 2007 12:08 » Serg Такшто приведенный скрипт бесполезен.Может кому и это пригодится. |
| digs Участник 364 |
# Дата: 6 Ноя 2007 19:29 Заводишь таблицу, в которую помещаешь все одиночные слова. Первый столбец слово, прошедшее морфопреобразование (для слова "мангалы" сюда кладешь "мангал") Второе поле, ID-слова. ВО второй таблице два три поля: 1. словосочетание 2. ID-первого слова (его морфопреобразования) 3. ID-второго слова Ну а дальше все просто. Получаешь фразу, бьешь на слова. Для каждого слова получаешь по первой таблице код (в итоге например: code1, code2, code3) для второй таблицы делаешь условие where (ID1 in (code1,code2,code3)) and (ID2 in (code1,code2,code3)); |
| maxtat pda killer 1472 |
# Дата: 9 Ноя 2007 17:28 Borman А твой скрипт какие нюансы предусматривает? А то я себе написал чисто самый простой поиск "чтоб было", так он только стопроцентное совпадение ищет... |
| niko Участник 293 |
# Дата: 10 Ноя 2007 08:14 Надо делать так чтобы основную часть слова искал, а не слово целиком. Например вместо слов: поискать, искатель, искал, искать. Нужно задать иска |
| Borman Участник 1040 |
# Дата: 10 Ноя 2007 08:39 ° Поправил: Borman Мой скрипт ищет слова целиком. Там не было задачи поиска по части слова. Это интернет - магазин. В основном продажи старых фотиков. Там ключевыми словами являются: "Fed", "Zorki", "Zenit", "35 mm camera" и т.д. |
| WarGot Per aspera ad astra 1948 |
# Дата: 10 Ноя 2007 22:04 Borman Спасибо огромное. С меня пиво -) Твой скрипт как раз таки то что я собирался в понедельник писать, спасибо что избавил от ненужной работы. 2 all А ещё кто скриптами поиска по бд не поделиться. Надо как раз таки под магазин. |
| Serg Участник 1812 |
# Дата: 11 Ноя 2007 16:11 digs На данный момент мы нашли способ логичнее. Еще думаем прикрутить хеширование и тогда скорость поиска увеличится многократно. Спасибо, твой вариант хорош, но есть способы лучше. » WarGot А ещё кто скриптами поиска по бд не поделиться. Надо как раз таки под магазин.Не наглей Создай отдельную тему. |
| SpiriTzzz Темный джедай 1382 |
# Дата: 11 Ноя 2007 17:56 WarGot наглец! я все заказчику расскажу ))) За что тебе деньги платят? Негодник )) |
|
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:35948, gzipped size:11242 |