Пользовательский код браузера с использованием Lucene/swish-e
Я работаю над проектом C++, который имеет огромную базу кода и несколько компонентов. Я хочу создать богатый браузер кода для него, который даст визуальную студию как опыт. Я имею в виду приложение Adobe AIR с Lucene или Swish-e в качестве внутреннего текстового индексатора. Я никогда не использовал ни один из двух. Если вы использовали один или оба из них, скажите, пожалуйста, подходит ли Lucene/Swish-e для такого рода приложений? Могу ли я настроить его так, чтобы он знал язык C++, Flex и т. Д.? Существуют ли открытые решения для этой проблемы, на которые я могу взглянуть?
1 ответ
Lucene в действии 2-е изд. содержит главу о продукте под названием krugle, которая использует Lucene для поиска исходного кода. Я никогда не использовал swish-e, поэтому не могу их сравнить, но в этой книге рассказывается о преимуществах и недостатках использования Lucene. Вы также можете попробовать их поиск здесь, для чего это стоит.
Подводя итог их главы:
- Плюсы: Lucene масштабируется очень быстро и очень быстро. По сути, когда у вас есть индекс, это все соус.
- Минусы: стандартные анализаторы выбрасывают слова типа "if" и "for" и знаки препинания, такие как "{", которые важны при поиске исходного кода. Также код не легко маркировать (например, "GetDatabaseInstance" должен токенизироваться на три слова, а не на одно). Поэтому им пришлось написать много собственных анализаторов.