Библиотека индексации текста в C/C++

Я разрабатываю настольный продукт Windows, для которого требуется библиотека индексации текста на C/C++. Я хотел бы дать ему ряд слов и запись, которую нужно хранить против этих слов. Поиск по этим словам должен быстро вернуть одну или несколько записей. Данные будут храниться на диске.

Я искал этот форум и нашел Lucene. Но это в основном Java. Также существует порт CLucene C++. Но я не уверен, подходит ли он (легкий вес?) для небольшого настольного продукта Windows.

Я нашел другие библиотеки на основе .net, но не что-то легкое и для С++.

Можете ли вы помочь, пожалуйста?


person Gautam Jain    schedule 21.03.2012    source источник
comment
Думаю, вам нужно trie. Вы можете изучить его в википедии. Там есть несколько ссылок на C++ реализации.   -  person Lol4t0    schedule 21.03.2012
comment
Сколько слов? записи?   -  person Tom Kerr    schedule 21.03.2012
comment
Является ли набор слов динамическим? Не могли бы вы добавить или удалить какие-либо новые слова?   -  person Tom Kerr    schedule 21.03.2012
comment
Вам нужны частичные совпадения слов? Вернется ли чат, если я буду искать шляпу?   -  person Tom Kerr    schedule 21.03.2012
comment
@Tom Kerr: это утилита для поиска файлов. Записей будет столько же, сколько файлов на среднем компьютере. Уникальных слов будет меньше, чем записей, так как новые слова будут добавляться и удаляться, а сейчас мы разрешаем совпадения слов. Но предпочел бы также иметь возможность частичного совпадения.   -  person Gautam Jain    schedule 22.03.2012


Ответы (1)


Рассматривали ли вы sqlite? RDBMS может быть немного тяжелой, но я считаю, что она используется внутри некоторых веб-браузеров для реализации «локальных баз данных» HTML5.

person D.Shawley    schedule 21.03.2012
comment
Если бы пространство поиска не было огромным или им не нужно было бы частичное совпадение, это, безусловно, сработало бы. - person Tom Kerr; 21.03.2012