Russian Qt Forum
Ноябрь 27, 2024, 04:42
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
SearchEngine на C++
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: SearchEngine на C++ (Прочитано 6328 раз)
Max Payne
Гость
SearchEngine на C++
«
:
Ноябрь 24, 2010, 04:16 »
Есть приложение - учебник электронный, который поддерживает отображение текстового контента, проигрывание видеофайлов , пдф-книги и т.д. Задача - нужно написать модуль , который сможет заполнять контентом базу приложения (приложение использует базу данных, и спец формат текстовых файлов, и каждый файл привязан к ключевому слову, то есть как к индексу для поиска по слову). Например : имеем папку с всяким содержимым (*.тхт, *.pdf, *.doc, *.docx, *.html и т .д) мне нужно к ключевому слову (к примеру "класс") привязать файлы и добавить их в базу, модуль должен просмотреть все файлы в папке, вывести список файлов в которых встречается слово "класс" , вывести статистику сколько раз это слово используется в текущем файле (и при необходимости скажем при выделении или двойном щелчке просмотреть этот файл), и если я ставлю скажем галочку в чекБоксе напротив некоторых файлов, эти файлы (переделываються в формат необходимый ,если это *.тхт ) и копируются в директорию программы и добавляются в базу. Тоесть просто перелопачивание всего содержимого папки сортировка по типу и поиск в файлах ключевого слова...
Хух... Вот так вроде... Вопрос : все необходимо писать с нуля (но писать то прилично надо будет) , может кто встречал подобный системы searchEngine к примеру Lucene, или может кто посоветует с чего начать?
Записан
crossly
Гость
Re: SearchEngine на C++
«
Ответ #1 :
Ноябрь 24, 2010, 10:13 »
так а Lucene не подходит??
Записан
Denjs
Гость
Re: SearchEngine на C++
«
Ответ #2 :
Ноябрь 24, 2010, 12:19 »
DataparkSearch Engine
?
http://www.dataparksearch.org/
я его использую для текстового поиска на сайте и в каталогах файлов "расшаренных" через http (подключил туда локальные smb-ресурсы, и признаться очень рад жизни))))
Помимо этого, он умеет работать с ftp, и вообще с много чем ещё - может индексировать вплоть до консольного вывода программы.
Есть механизм подключения парсеров (для разбора на слова всяких pdf, doc, xls и др).
Можно подключить словари для поиска с учетом окончаний и т.п.
Есть механизм интеграции с С/С++ приложением. Где-то даже кажется видел схему базы данных (в случае использования с MySQL). Помимо этого понимает ещё с пяток баз данных, включая собственную (объявлена что самая быстрая,как я понимаю потому, что ни на что другое не способна, кроме как обслуживания поиска и запросов из DataparkSearch). С Мускулем запрос по базе данных занимающей около 2.5 гигов занимает пару секунд (и это все крутится в условиях виртуального сервера с ограниченными ресурсами).
Единственный минус (для меня) - я пока не понял как его заставить искать в частях слов... но на фоне остального это, имхо, терпимо.
Открытые исходники (смотри, разбирайся, учись).
Написан на С/С++ (хотя может и на простом Си)
Возможно что Linux-only (последнее не уточнял - у мну линукс и мне на венду по***
)
«
Последнее редактирование: Ноябрь 24, 2010, 12:32 от Denjs
»
Записан
Max Payne
Гость
Re: SearchEngine на C++
«
Ответ #3 :
Ноябрь 24, 2010, 20:37 »
Denjs - спасибо , но :
На даенный момент известно об успешных установках DataparkSearch на следующих опреационных системах:
CentOS 3.1, CentOS 3.3
Debian GNU/Linux (Lenny, Etch) (i386)
FreeBSD 2.2.x, 3.x, 4.x, 5.x, 6.x, 7.0
Linux Fedora Core-1, Kernel 2.4.22-1.2174
Linux Mandrake 10.2
Linux Red Hat 8.0, 9.0
Solaris 9
Solaris 10 x86, gcc
Ubuntu Linux 6.10, 7.x, 8.x, 9.04 (i386 and amd)
Gentoo Linux 2007.0 amd64
OpenBSD 4.5 (i386)
Пока что двигатель работает только на юникс подобных системах. Я пишу пока под виндой и тут трабл, так что вариант не плохой но не подходит.
Записан
Max Payne
Гость
Re: SearchEngine на C++
«
Ответ #4 :
Ноябрь 24, 2010, 20:42 »
Цитировать
так а Lucene не подходит??
Я пока только просматриваю этот вариант , и ищу пока альтернативу, чтоб можна было хотя бы сравнить.
Я рылся в поисковике гугл, что то ничего внятного не нашел. Кто знает или может ссылочку где можно почитать, побольше о движке Lucene, или документация, желательно на русском язике. :/ Если я не ошибаюсь он тоже под юникс писался. Есть ли интегратор под С/С++ ?
Записан
crossly
Гость
Re: SearchEngine на C++
«
Ответ #5 :
Ноябрь 24, 2010, 21:24 »
Цитировать
Есть ли интегратор под С/С++ ?
CLucene.... в Qt есть QtCLucene....
Записан
Max Payne
Гость
Re: SearchEngine на C++
«
Ответ #6 :
Ноябрь 26, 2010, 09:41 »
Ясн ищу, читаю, разбираюсь. Спасибо, хотя инфы что то маловато, если я правильно понял, эта библиотека появилась с Qt4.x
Но на офф сайте я ничего не нашел... =(
Записан
crossly
Гость
Re: SearchEngine на C++
«
Ответ #7 :
Ноябрь 26, 2010, 11:05 »
в документации ее нету... т.к. это внутренняя библиотека Qt... но никто не запрещает ее использовать...
Записан
Max Payne
Гость
Re: SearchEngine на C++
«
Ответ #8 :
Ноябрь 26, 2010, 14:36 »
Ну а где можно почитать о ее функциях , о возможностях, как использовать... Ну с чего то надо же надо начать.. Ее надо скачать? Так как я скачал набор библиотек с Qt 4.7 и эту библиотеку так и не нашел. Подскажите пож. кто ее использовал как юзать, а то даже инклуд ее не видит.
Записан
Denjs
Гость
Re: SearchEngine на C++
«
Ответ #9 :
Ноябрь 26, 2010, 14:41 »
Цитата: Max Payne от Ноябрь 26, 2010, 14:36
Так как я скачал набор библиотек с Qt 4.7 ...
значит у вас должен быть и QAssistant. в нем и смотрите. это подсистема помощи по QT.
Если вы конечно скачивали SDK ("Qt SDK: Complete Development Environment") а не просто набор библиотек ("Qt: Framework Only").
Записан
crossly
Гость
Re: SearchEngine на C++
«
Ответ #10 :
Ноябрь 26, 2010, 15:18 »
Цитата: Denjs от Ноябрь 26, 2010, 14:41
Цитата: Max Payne от Ноябрь 26, 2010, 14:36
Так как я скачал набор библиотек с Qt 4.7 ...
значит у вас должен быть и QAssistant. в нем и смотрите. это подсистема помощи по QT.
Если вы конечно скачивали SDK ("Qt SDK: Complete Development Environment") а не просто набор библиотек ("Qt: Framework Only").
в ассистенте вы это либу не найдете... это внутренняя либа ... используется в ассистенте ... исходники найти можно в qt/tools/assistant/lib/fulltextsearch ... и курить их...
Записан
Max Payne
Гость
Re: SearchEngine на C++
«
Ответ #11 :
Ноябрь 26, 2010, 21:20 »
Тоесть, Надо вручную на свой страх и риск, копаться, и надеяться что что то пойму? Дам перспективка, работы только расчехлятся в коде на пару месяцев
.
Записан
kogemrka
Гость
Re: SearchEngine на C++
«
Ответ #12 :
Ноябрь 27, 2010, 13:10 »
CLucene
Записан
Max Payne
Гость
Re: SearchEngine на C++
«
Ответ #13 :
Ноябрь 29, 2010, 00:12 »
kogemrka
О спасибо, мой не многословный друг... А более какого то широкого описания нету?
Я покопался кое что нарыл : если я правильно понял то почти все поисковики полнотекстовые создают таблицу с позициями каждого слова, но это если пользователь постоянно пользуеться поиском. У меня задача один раз найти по слову, добавить файл или переписать его если мне он подходит, и забыть. Тогда возникает логический вопрос зачем мне вообще создавать такую таблицу с данными?
И еще есть ли готовые модули для чтения документов (*.doc, *.docx, *.html, *.chm, *.pdf(текстовые) *.txt, *.cpp) или все таки ручками писать придется все с нуля? Не то чтоб это сложно просто кода многовато, а если есть готовые примеры, ил что то в этом роде, то грех не использовать
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...