Поиск по произвольным ключам
1. Как организовать информацию
2. Как осуществлять поиск и формирование списков.
Если у кого есть интересные мысли по этому поводу, поделитесь пожалуйста.
А если самому писать, то нужно для каждого нужного поля сделать словарь, и приндексировать базу данных согласно этих словарей. Типа словарь имен, запись "Катя", индесы: находится в 8, 12, 130-м записях. Все это загнать в текстого-бинарный файл и читать весь файл в память. Я писал такую программу, пишется не за один день. Лучше indexing service, если оно делает то что надо. Будет работать намного медленней, менее точно, но меньше крови.
Цитата:
Originally posted by rostyslav
Вроде, SQL Server имеет какой-то indexing service.
А если самому писать, то нужно для каждого нужного поля сделать словарь, и приндексировать базу данных согласно этих словарей. Типа словарь имен, запись "Катя", индесы: находится в 8, 12, 130-м записях. Все это загнать в текстого-бинарный файл и читать весь файл в память. Я писал такую программу, пишется не за один день. Лучше indexing service, если оно делает то что надо. Будет работать намного медленней, менее точно, но меньше крови.
Вроде, SQL Server имеет какой-то indexing service.
А если самому писать, то нужно для каждого нужного поля сделать словарь, и приндексировать базу данных согласно этих словарей. Типа словарь имен, запись "Катя", индесы: находится в 8, 12, 130-м записях. Все это загнать в текстого-бинарный файл и читать весь файл в память. Я писал такую программу, пишется не за один день. Лучше indexing service, если оно делает то что надо. Будет работать намного медленней, менее точно, но меньше крови.
Я приблизительно так и думал. Только идея в том чтобы вести словарь ключей поиска, а уже в него добавлять необходимые ключи. Скажем нужен список всех любовниц г-на Иванова. Добавляем ключ поиска "любовница", создаем соответсвующие индексы. Насчет SQL Server-а и index service посмотрю, что это такое. До этого не стакивался.
"любовница" может быть представлена в базе как, "любовница", "люб.", "любовниця", "любовица" итд. И если качественный поиск, то находятся все слова.
Цитата:
Originally posted by rostyslav
"любовница" может быть представлена в базе как, "любовница", "люб.", "любовниця", "любовица" итд. И если качественный поиск, то находятся все слова.
"любовница" может быть представлена в базе как, "любовница", "люб.", "любовниця", "любовица" итд. И если качественный поиск, то находятся все слова.
Вот именно это и смущает. Я бы назвал это наличием синонимов. Дело в том что скажем "люб." может быть "любит покушать". Поэтому все равно нужно формализовывать информацию. Создавать какие-то правила ее занесения. Но жизнь показывает, что сильно формализовать все равно не получается. Как им не говори все равно вводят люб. и туда и туда.