Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / поиск в базе с результатами, похожим на то, как это делают поисковики / 11 сообщений из 11, страница 1 из 1
12.01.2004, 14:42
    #32373182
Alex+
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в базе с результатами, похожим на то, как это делают поисковики
Обсуждение из форума на другом сайте. Надеюсь здесь решение найдется быстрее.

Q.
Хотелось бы сделать поиск по базе данных с результатами, похожим на то как это делают поисковики. Например в таком порядке:
- полное совпадение с ключевой фразой
- наличие всех слов из фразы
- наличие любых слов из фразы

Пока я сделал три отдельных запроса и вывожу результаты по очереди.
Хотелось бы решить эту задачу с помощью одного запроса.
Варианты выборки через OR и через UNION дают нужные записи из базы, но не в требуемом порядке - все перемешано.

Может кто сталкивался с подобной задачей? Подскажите.

P.S. Я использую Access (~2000 записей). Может лучше перейти на MS SQL, если там эта задача решается проще?

******************************
A.
quote:
--------------------------------------------------------------------------------
все перемешано.
--------------------------------------------------------------------------------

order by не пробовал?
hint: чтобы не потерять порядок резалтсетов можно к добавить дополнительное поле "rs", в котором и хранить номер резалтсета. Т.е. что то вроде

code:
--------------------------------------------------------------------------------

select a,b, '1' as rs from TBName union select a,b, '2' as rs from TBName order by rs

*************************************
Q.
После добавления поля "rsorder" с номером выборки, записи с одним и тем же ID стали разными и появились повторения. Я использую "union", а результат получился, как при "union all" до введения этого поля.

Distinct ID в кажом Select-e не помогает.

***************************************
A.
union удаляет только полные дубликаты.
Соответственно условиями where надо добиваться того, чтобы одинаковых строк не возвращалось

***************************************

Q.
Т.е. в каждом последующем select-е исключить результаты всех предыдущих? Но как узнать какие записи уже выбраны?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
13.06.2006, 18:51
    #33788688
КД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в базе с результатами, похожим на то, как это делают поисковики
Тема интересная, я тоже сейчас занялся реализацией поиска.
Мне кажется, что сначала нужно провести поиск по всем словам в поле поиска, введенным в порядке убывания значимости, затем по словоформам этих слов (падеж, число и т.д. - но как это сделать?), а уже затем отрезать по слову с конца строки.
Буду благодарен за идеи и ссылки.
...
Рейтинг: 0 / 0
13.06.2006, 19:47
    #33788784
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в базе с результатами, похожим на то, как это делают поисковики
авторВарианты выборки через OR и через UNION дают нужные записи из базы, но не в требуемом порядке - все перемешано.

ВС в факах показал как можно сортировать по ..... и с помощью....
интересное решение , результат не очевиден, но очень хороший.
если ВС напомнит..., то может и натолкнет на решение, мне помогло, но откуда это я уже не помню.
...
Рейтинг: 0 / 0
25.10.2006, 10:50
    #34079267
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в базе с результатами, похожим на то, как это делают поисковики
2 Вадя
Из поиск в базе с результатами, похожим на то, как это делают поисковики...натолкнет на решение, мне помогло, но откуда это я уже не помню. Вадя, вы не вспомнили? Было бы очень интересно посмотреть.
...
Рейтинг: 0 / 0
25.10.2006, 11:13
    #34079371
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в базе с результатами, похожим на то, как это делают поисковики
нет
это Саныча нада попытать....
...
Рейтинг: 0 / 0
25.10.2006, 11:36
    #34079472
Just User
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в базе с результатами, похожим на то, как это делают поисковики
Не ради помощи а ради совета.
Почитайте принципы работы поисковиков, а то так сами запутаетесь в этой галиматье. Эта работа не простая. Поисковики типа Yandex или Rambler работают далеко не на простом совпадении только простого словосочетания далее отжельных слов и т.д. Там организовано уда сложнее.
Разберитесь с принципами а уж потом составляйте планы по реализации.
...
Рейтинг: 0 / 0
25.10.2006, 11:48
    #34079513
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в базе с результатами, похожим на то, как это делают поисковики
Вспомнился старый анедот. Еще советских времен.

Одному горцу по поводу рождения сына нужно было устроит пир. Однако он был бедный, и барана у него для плова не было. Он пошел к богатому соседу справа и попросил у него барана, чтобы зарезать на угощение. Тот ответил:
- Я тебе, сосед, барана не дам, но дам совет. Пойди к соседу слева и попроси у него барана. Он даст.
Пошел горец к соседу слева и попросил у него барана. Тот сказал:
- Барана я тебе не дам, но дам совет...
- Вах! - вскричал горец. - Почему мне все дают советы и никто не дает барана!?
- Потому что у нас Страна Советов, а не страна баранов
...
Рейтинг: 0 / 0
25.10.2006, 12:08
    #34079622
Just User
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в базе с результатами, похожим на то, как это делают поисковики
mds_worldВспомнился старый анедот. Еще советских времен.

Одному горцу по поводу рождения сына нужно было устроит пир. Однако он был бедный, и барана у него для плова не было. Он пошел к богатому соседу справа и попросил у него барана, чтобы зарезать на угощение. Тот ответил:
- Я тебе, сосед, барана не дам, но дам совет. Пойди к соседу слева и попроси у него барана. Он даст.
Пошел горец к соседу слева и попросил у него барана. Тот сказал:
- Барана я тебе не дам, но дам совет...
- Вах! - вскричал горец. - Почему мне все дают советы и никто не дает барана!?
- Потому что у нас Страна Советов, а не страна баранов
Я не знаю как действительно работают поисковики, но знаю что там есть много интеллектуальных решений для того чтобы пользователь находил то что ему нужно. Если вы ачинаете обсуждать это с того что как сделать выборку из такой-то таблицы не имея "генеральной идеи", то это у вас так и ничем не закончится.
Как известно программисты в компании Microsoft начинают программировать карандашом на бумаге и пишут не код а рисуют схемы, пишут комментария, просто текст и т.д., то есть формируют чёткое представление что нужно сделать и только потом приступают к следующим этапам.
...
Рейтинг: 0 / 0
25.10.2006, 12:30
    #34079725
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в базе с результатами, похожим на то, как это делают поисковики
Спасибо Just User! Просветлилось! Планировали, реализовывали... Беспринципно все это. Кончаем марать экран! Делаем жизнь с компании Microsoft! Формируем четкое представление и думаем, думаем, думаем!
Да, что ж вы раньше не появились, а то уже и забыл как думать. А как, действительно? Забыл. Вспомнить надо, а то погублю свою единственную, жизнь мою, в рутине.
Приходите еще. Нам еще есть в чем совершенствоваться.
...
Рейтинг: 0 / 0
25.10.2006, 12:33
    #34079745
Fat Lamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в базе с результатами, похожим на то, как это делают поисковики
И еще один совет:
Ваять свою поисковую систему дело неблагодарное. Первое, на что напорешся - морфология русского языка (я так понял, что интересует поиск в документах). В принципе, можно брать словоформы с сайтов типа www.aot.ru, но тогда поисковые запросы к базе разрастутся до безобразия.
Использование Index Server'a дает результаты только на простых запросах, на сложных - облом. Может быть просто у меня руки кривые, но толку от него на сложных запросах я не добился.
В итоге поисков решения пришел к выводу, что проще и быстрее найти поисковик стороннего производителя. В описании одного из них была заявлена возможность поиска в базах Access'a. Как звать прогу не помню, потому что на тот момент поиск в базе мне был не нужен, т.к. документы у меня хранятся не в базе, а в виде файлов.
...
Рейтинг: 0 / 0
25.10.2006, 12:41
    #34079791
MsDatabaseru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в базе с результатами, похожим на то, как это делают поисковики
поисковики используют достаточно дорогие и сложные решения учитывая при отборе особенности языковых форм, затем перед отображением результаты сортируются но не только по полному совпадению слов или фразы но и по рейтингу (как правило это индекс цитируемости) ресурса на который ведет ссылка.

ваша задача похожа на одну задачу которую мне как то приходилось решать:
"сортировка по созвучности" когда по поисковой фразе с учетом возможных опечаток необходимо вывести список вариантов с учетом убывания созвучности
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / поиск в базе с результатами, похожим на то, как это делают поисковики / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]