powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / поиск в базе с результатами, похожим на то, как это делают поисковики
11 сообщений из 11, страница 1 из 1
поиск в базе с результатами, похожим на то, как это делают поисковики
    #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
Период между сообщениями больше года.
поиск в базе с результатами, похожим на то, как это делают поисковики
    #33788688
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тема интересная, я тоже сейчас занялся реализацией поиска.
Мне кажется, что сначала нужно провести поиск по всем словам в поле поиска, введенным в порядке убывания значимости, затем по словоформам этих слов (падеж, число и т.д. - но как это сделать?), а уже затем отрезать по слову с конца строки.
Буду благодарен за идеи и ссылки.
...
Рейтинг: 0 / 0
поиск в базе с результатами, похожим на то, как это делают поисковики
    #33788784
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВарианты выборки через OR и через UNION дают нужные записи из базы, но не в требуемом порядке - все перемешано.

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

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

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

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


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