2011-10-17 4 views
12

Je dois fournir une recherche en texte intégral sur les fichiers sources javascript et surligner les résultats.Comment indexer le code source avec ElasticSearch

Ma question est de savoir quelle combinaison d'atomiseurs et d'analyseurs ElasticSearch existants serait la meilleure pour cela?

Répondre

5

Question intéressante, mais je ne suis pas au courant d'une solution prête à l'emploi. Vous pouvez utiliser un tokenizer WordDelimiter comme vous pouvez le spécifier par exemple. le trait de soulignement devant être traité comme un chiffre et fonctionnant ensuite comme hello_world (ou helloWorld si camelcase est activé) sera interrogeable via hello ou world.

Mais je doute que les résultats sont suffisants ... et vous aurez à mettre en œuvre un source code analyzer yourself ou utilisez le code which extracts the syntax tree aux noms de méthode d'indexation et des organismes dans différents domaines

+0

En tant que développeur recherchant du code source, voudriez-vous réellement trouver hello_world ou helloWorld avec simplement "hello" ou simplement "world"? Dans notre cas au moins, nous avons une recherche élastique pour tous nos référentiels de code, et nous recherchons généralement une orthographe spécifique d'une méthode spécifique pour chacun d'entre eux - par exemple lors de la mise à jour de notre framework de base qu'ils utilisent tous. –

0

Sauf si vous voulez exposer cela comme un service à quelqu'un, je vous recommande d'installer InstaSearch plugin dans eclipse; ce plugin crée un index lucense et vous donne des résultats instantanés.

1

Vous pouvez utiliser le attachment type plugin pour charger les fichiers dans Elasticsearch et lui permettre d'indexer les fichiers. Il peut gérer les métadonnées pour les fichiers et indexer le contenu des fichiers. Le github page inclut des informations sur la mise en surbrillance des documents de recherche.

Questions connexes