2008-09-18 2 views
2

Я ищу библиотеку индексирования с открытым исходным кодом. Он будет использоваться для встроенного веб-приложения, поэтому он должен иметь небольшой размер кода. Предпочтительно, написанные на C, C++ или PHP и не требующие установки базы данных для хранения индексов. Индексы следует хранить вместо файла (например, xml, txt). Я попытался посмотреть некоторые известные библиотеки поиска, такие как xapian и clucene, они хороши, но имеют относительно большой размер кода для встроенной системы.Легкий поиск индексирования API/Lbrary

Это будет работать на платформе Linux и будет использоваться для индексации файлов HTML.

Любые мысли о том, что было бы хорошей библиотекой поиска/API для использования?

Спасибо.

+0

PHP? Embedded? В самом деле? Не первый язык, о котором я думаю, когда кто-то говорит «встроенный» .... – 2008-09-18 07:07:38

+0

На какой платформе работает ваш код (UNIX, Windows Mobile, Palm OS, iPhone OS, ...)? Какие данные вы индексируете (большие блоки текстов, список имен, ...)? – benzado 2008-09-18 07:22:46

ответ

0

Во-первых: вы должны где-то хранить индексы. Таким образом, файл данных будет необходим, если вы не хотите индексировать только память.

Чтобы индексировать общие элементы, я могу порекомендовать вам sqlite: http://www.sqlite.org/. Я даже использую его только в режиме памяти, когда у меня есть куча данных, и мне нужно обрабатывать его с помощью нескольких индексов.

2

О, мужчина. Есть несколько. В порядке убывания неизвестности ...

Я уверен, что там больше тонны, но это те, что у меня с вершины м у головы. Удачи :)

+0

+1 для Ferret. Это как Луцен, но написано на C (с рубиновым интерфейсом) и намного быстрее – zenazn 2009-01-01 20:46:45

0

Это зависит от ваших требований. Полное распределение Lucene (Java) составляет до 3 МБ JAR-файла, но на практике его можно разделить до уровня 1 МБ. На практике CLucene, вероятно, значительно меньше. Как низко вы должны пойти? ...

0

Swish-E написан на языке C и может делать то, что вы хотите. Не требует базы данных, использует свой собственный формат двоичного индекса.

Я также использовал ht://Dig, но похоже, что с тех пор программное обеспечение было сохранено.

Оба будут компилироваться в Linux и индексировать HTML просто отлично.

Третий вариант: SINO Используется AustLII. Свяжитесь с командой там, чтобы убедиться, что вы получите последнюю версию. Должен компилироваться на Linux без особых проблем. Он не предназначен для встроенных систем (SINO означает Size Is No Object), но у него был достойный API, который я смотрел и относительно небольшой (поэтому он не предназначен для него, но может работать так же хорошо). Предназначен для HTML. Довольно быстрое индексирование. Стоит посмотреть, я думаю. (Раскрытие информации: работало там давным-давно)

Наконец, мы используем Solr, который основан на Lucene. Solr использует простой API на основе POSTing XML-документов на сервер. Довольно простой интерфейс, независимо от вашего языка.

Смежные вопросы