The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Поиск по нескольким ключам"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (C/C++)
Изначальное сообщение [ Отслеживать ]

"Поиск по нескольким ключам"  +/
Сообщение от handler2006 email(ok) on 28-Фев-12, 16:58 
Здравствуйте!
Имеем: массив структур, состоящих из нескольких полей (или просто таблица).
Задача: Выбрать первую удовлетворяющую условиям поиска записью Поиск осуществляется сразу по нескольким полям.
Все, что я нашел пока - это boost::multi_index_container, но он не позволяет делать выборку за дин раз - придется делать столько проходов, сколько критериев поиска
Спасибо.
Алексей
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Поиск по нескольким ключам"  +/
Сообщение от pavlinux (ok) on 02-Мрт-12, 22:42 
> Задача: Выбрать первую удовлетворяющую условиям поиска записью

Можно я, можно я,...

Для того, чтоб выбрать первую удовлетворяющую условиям поиска записью,
нужно выбрать первую удовлетворяющую условиям поиска записью.


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Поиск по нескольким ключам"  +/
Сообщение от handler2006 email(ok) on 03-Мрт-12, 12:44 
Как вариант мне предложили использовать хеш полей - тогда поиск сводится к проверке только значения хеша записи.

Мне же, с моим слабоумием, вообще сложно что-то представлять да и не за чем - задача сводится лишь к тому чтобы обойтись одной простой строчкой кода, неважно, какого рода и объема код она сгенерирует

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Поиск по нескольким ключам"  +/
Сообщение от pavlinux (ok) on 05-Мрт-12, 00:58 
> Как вариант мне предложили использовать хеш полей - тогда поиск сводится к
> проверке только значения хеша записи.

Например матрица 100x100, для комбинации из 2-х элементов будет иметь 1000000 хэшей. :)


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Поиск по нескольким ключам"  +/
Сообщение от handler2006 email(ok) on 05-Мрт-12, 10:37 
Вы меня немного неправильно поняли.
Возможно я не совсем корректно употребил термин "хеш" в данном случае.
Имеется ввиду  хранить сумму значений полей каждой записи, тогда достаточно будет только просуммировать (особым образом) поля записи и сравнить их с искомым
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Поиск по нескольким ключам"  +/
Сообщение от pavlinux (ok) on 05-Мрт-12, 23:15 
>  Вы меня немного неправильно поняли.
> Возможно я не совсем корректно употребил термин "хеш" в данном случае.
> Имеется ввиду  хранить сумму значений полей каждой записи, тогда достаточно будет
> только просуммировать (особым образом) поля записи и сравнить их с искомым

1+2+3+4+5+6+7+8+9 = 45
5+5+5+5+1+5+5+5+4 = 45
...

Так можно хранить только числа Фибоначчи, ибо разложение итоговой суммы, в примере 45,
на эти числа единично, т.е. уникально.

2+5+7+12+19 = 45  

----

Короче не заморачивайся, хэш - правильный выход.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Поиск по нескольким ключам"  +/
Сообщение от handler2006 email(ok) on 06-Мрт-12, 12:38 

>> только просуммировать (особым образом) поля записи и сравнить их с искомым

Ключевое слово в скобках

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру