Облегченный API индексации поиска / Lbrary - PullRequest
2 голосов
/ 18 сентября 2008

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

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

Есть мысли о том, какую библиотеку / API поиска можно использовать?

Спасибо.

Ответы [ 5 ]

2 голосов
/ 18 сентября 2008
2 голосов
/ 18 сентября 2008

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

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

0 голосов
/ 01 января 2009

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

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

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

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

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

0 голосов
/ 18 сентября 2008

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

0 голосов
/ 18 сентября 2008

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

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

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