2010-08-17 4 views
0

Je suis à la recherche d'une solution de recherche qui permettra d'identifier les chaînes (noms de sociétés) et d'utiliser ces chaînes pour la recherche et les facettes dans Solr. Je suis nouveau à Nutch et Solr donc je me demande si cela est mieux fait dans Nutch ou dans Solr. Une solution consisterait à générer un analyseur dans Nutch qui identifie les chaînes en question, puis indexer le nom de l'entreprise, puis mappé à une valeur Solr. Je ne suis pas sûr sur comment, mais je suppose que cela pourrait également être fait à l'intérieur de Solr directement à partir du texte?Identification des chaînes dans les documents, avec nutch + solr?

Est-ce qu'il est logique de faire cette identification de chaîne dans Nutch ou dans Solr et y a-t-il une fonctionnalité dans Solr ou Nutch qui pourrait m'aider ici?

Merci.

+0

1. où sont les documents source? 2. Qui fournit la liste des noms de sociétés? –

+0

@ms: 1. les documents sources sont situés sur un ensemble de sites Web et j'utilise nutch pour les explorer. 2. Je maintiendrai moi-même la liste des noms de sociétés, soit dans une base de données, soit simplement dans un fichier XML. – grm

Répondre

1

Nutch travaille avec Solr en indexant les données analysées dans Solr via l'API HTTP Solr. Vous déclenchez l'indexation en appelant la commande solrindex. Voir this page pour plus de détails sur la configuration.

Pour pouvoir extraire les noms de sociétés, j'ajouterais le code nécessaire dans Solr. J'utiliserais un UpdateRequestProcessor. Il permet d'ajouter une étape supplémentaire dans le processus d'indexation pour ajouter des champs supplémentaires dans le document en cours d'indexation. Votre UpdateRequestProcessor sera utilisé pour examiner le document envoyé à Solr par Nutch, extraire les noms de sociétés du texte et les ajouter comme nouveaux champs dans le document. Solr les indexerait le document + les champs que vous ajoutez.

+0

J'ai fait un essai hier et cela semble une approche plus flexible que de le faire dans Nutch, bien que je trouve cette partie de Solr un peu sous-documenté j'ai maintenant quelque chose qui tourne. Merci Pascal! – grm

3

Vous pouvez intégrer une bibliothèque NER (voir opennlp, lingpipe, gate) dans un analyseur personnalisé, générer de nouveaux champs et créer un indexingfilter en conséquence. Ce n'est pas particulièrement difficile et l'avantage comparé à faire cela du côté SOLR est que vous bénéficieriez de l'évolutivité de mapreduce (les tâches NLP ont souvent besoin de CPU). Voir Behemoth pour un exemple d'intégration de GATE dans mapreduce

+0

Projet très intéressant ... –

Questions connexes