Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Умный поиск по БД вместо фильтрации. Как реализовать? [XP]


Страницы:   1 2

Kolan ©   (2009-04-09 16:08:00) 

Здравствуйте!

В приложении сотрудничающем с MS SQL Server 2000 нужно сделать возможность искать данные в базе. В базе результаты измерений всяких штук-дрюк :) Задача довольно простая. Данные разные в основном числа и строки.

Есть идея попробовать не делать обычной фильтрации, а заменить её поиском. То есть, вместо, скажем, выпадающего списка с фразами вроде «Измерения за сегодня» или там «Измерения, сделанные Васей» сделать просто поле ввода, которое бы искало данные по текстовому запросу, как Яндекс.

Хотелось бы спросить у вас какие вы видите технические возможности реализации желаемого? То есть: как это сделать?

Стоит уточнить, что разработка должна быть осуществлена в реальные сроки.

И еще, не хотелось бы в этой ветке обсуждать вопросы человеко-машинного взаимодействия (то есть вопроса зачем мне все это нужно), я лишь хочу узнать о технических возможностях.


Anatoly Podgoretsky   (2009-04-09 16:54:00) [21]

> 12  (09.04.2009 16:43:05)  [5]

Вообще то он хочет получить запрос из свободно формы, без выбора из предопределенного списка слов. Короче он претендует на докторскую, если не снизит аппетиты.


Anatoly Podgoretsky   (2009-04-09 16:52:00) [22]

> Kolan  (09.04.2009 16:38:04)  [4]

Book OnLine - можно взять на Микрософте или читать в Online, она поможет по части запросов и построение полнотекстовых поисков.

Но у тебя основная проблема будет с ИИ да еще как на Яндексе, а это Ноу Хау


Ega23   (2009-04-09 16:46:00) [23]


> СУБД типа MSSQL умеют общаться с внешним миром ТОЛЬКО через
> SQL


С чего ты взял?


12   (2009-04-09 16:43:00) [24]

БОЛ - book on line


12   (2009-04-09 16:43:00) [25]

надо пользователям выдать составитель запросов
типа кнопки
Выбрать
Всех
больше
меньше
и т.п.
Пользователь тыкает кнопку Выбрать, у тебя sqltext:=\' select \' становится. так видел в одной программе.


Kolan   (2009-04-09 16:38:00) [26]

12, не это слишком просто — работать не будет.

Sergey13, идею вашу понял, тогда вопрос: как составить такой запрос? Как, к примеру, фразу «Вчерашние измерения» превратить в
SELECT * FROM Measurements WHERE CreationDate = 2008-04-08?

Анатолий, а что такое БОЛ и где его (её?) взять?


Sergey13   (2009-04-09 16:28:00) [27]

> [0] Kolan ©   (09.04.09 16:08)
Поиск мелочи по карманам разительно отличается от поиска в том же яндексе, поэтому без уточнения конечной цели ответ на вопрос затрудняется.
"Искать по БД" это вообще несколько неправильная формулировка, ИМХО. Информация содержится (и ищется соответственно) в конкретных таблицах.

СУБД типа MSSQL умеют общаться с внешним миром ТОЛЬКО через SQL. Т.е. сформировав правильный запрос, ты получишь правильный ответ. Т.е. твоя задача сводится к построению правильных запросов.


Anatoly Podgoretsky   (2009-04-09 16:27:00) [28]

> Kolan  (09.04.2009 16:08:00)  [0]

Искать - Find/Locate можно на сервере, на клиенте можно делать только выборку. Для этого надо написать запрос на выборку по критерию. Информацию смотри в БОЛ, обрати внимание не полнотекстовый поиск, к сожалению многоформы для русского не работают. Ну и потребуется небольшой ИИ, которое можно узнать на Яндексе, если надо как Яндекс.


12   (2009-04-09 16:20:00) [29]

введеную строку разбить на слова, сделать like по всем полям всех таблиц, пересечь/заюнионить результаты по релевантности


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо