Question

Je recherche une bibliothèque d'indexation de recherche open source. Il sera utilisé pour les applications Web intégrées et devrait donc avoir une petite taille de code. De préférence, écrit en C, C ++ ou PHP et ne nécessite l'installation d'aucune base de données pour le stockage des index. Les index doivent plutôt être stockés dans un fichier (par exemple, xml, txt). J'ai essayé de consulter certaines bibliothèques de recherche célèbres telles que xapian et clucene. Elles sont bonnes mais ont une taille de code relativement grande pour un système embarqué.

Ceci sera exécuté sur une plate-forme Linux et sera utilisé pour indexer les fichiers HTML.

Avez-vous une idée de ce que serait une bonne bibliothèque de recherche / API à utiliser?

Merci.

Était-ce utile?

La solution

Autres conseils

Oh, mec. Il y en a quelques uns. En ordre décroissant d'obscurité ...

Je suis sûr qu'il y en a beaucoup plus, mais ce sont ceux que j'ai en tête. Bonne chance:)

Premièrement: vous devez stocker les index quelque part. Donc, un fichier de données sera nécessaire à moins que vous ne vouliez que des index en mémoire.

Pour indexer les éléments génériques, je peux vous recommander sqlite: http://www.sqlite.org/. Je l’utilise même en mode mémoire uniquement lorsque j’ai un tas de données et que j’ai besoin de le gérer avec plusieurs index.

Cela dépend de vos besoins. Une distribution complète de Lucene (Java) va jusqu’à 3 Mo de fichier JAR, mais peut en pratique être réduite à moins de 1 Mo. Le CLucene est probablement considérablement plus petit dans la pratique. À quel point avez-vous besoin d'aller? ...

Swish-E est écrit en C et peut faire ce que vous voulez. Ne nécessite pas de base de données, utilise son propre format de fichier d’index binaire.

J'ai également utilisé ht: // Dig , mais il semble que cela fait longtemps ce logiciel a été maintenu.

Les deux compileront sous Linux et indexeront très bien HTML.

Une troisième option est le SINO utilisé par AustLII . Contactez l'équipe là-bas pour vous assurer d'obtenir la dernière version. Devrait compiler sur Linux sans trop de peine. Ce n’est pas vraiment conçu pour les systèmes embarqués (SINO signifie Size Is No Object), mais il avait une API décente sur laquelle j’ai regardé pour la dernière fois et qui était relativement petit (donc, il n’est pas conçu pour cela, mais pourrait aussi bien fonctionner). Ciblé en HTML. Indexation assez rapide. Ça vaut le coup d'oeil je pense. (Divulgation: a travaillé il y a longtemps)

Enfin, nous utilisons Solr , qui repose sur Lucene . Solr utilise une simple API basée sur le POSTing des documents XML sur un serveur. Très simple à utiliser, quelle que soit votre langue.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top