2010-11-17 18 views
17

Mi empresa está buscando soluciones avanzadas de búsqueda e informes, y está considerando (entre otras opciones) crear algo similar a JIRA's JQL para una flexibilidad máxima.¿Ha construido Atlassion JIRA Query Language (JQL) desde cero?

Mi búsqueda en google me lleva a creer que Atlassian construyó JQL desde cero, al menos como un lenguaje con sintaxis y un analizador sintáctico, pero pensé que probaría SO antes de concluir. Alguien sabe, en un alto nivel, cómo lo hicieron? ¿Hubo uno o más proyectos de código abierto en los que se basaron?

(Felicitaciones a Atlassian de cualquier manera - JQL es precioso)

+2

para los que llegan tarde a este tema; JQL puede no ser de código abierto, pero IntelliJ implementó el [analizador de JQL] (https://github.com/JetBrains/intellij-community/blob/master/plugins/tasks/tasks-core/jira/src/com/intellij/tasks /jira/jql/JqlElementTypes.java). Hay una sintaxis JQL formal en el comentario. –

Respuesta

4

Creo que lo hicieron desde cero. La arquitectura subyacente es nítida pero bastante compleja. Me tomó unas pocas horas conseguirlo, solo leí la fuente y los documentos mínimos para el usuario.

~ Matt

+0

Además, con Atlassian que parece ser tan abierto con su negocio, blogueando sobre el desarrollo, por ejemplo, uno pensaría que daría algún crédito a las tecnologías subyacentes que utilizaron para llevarlo a cabo si lo tuvieran. Usamos JIRA alojado, así que todo lo que veo es la interfaz de usuario, gracias por la información. – peteorpeter

+13

Atlassian desarrolló JQL desde cero. El analizador del lenguaje se desarrolló utilizando [ANTLR] (http://www.antlr.org/). Una vez analizado, se convierte en el conjunto apropiado de consultas Lucene y de base de datos, y se ejecuta. La documentación de ANTLR tiene un [buen ejemplo simple] (http://www.antlr.org/wiki/display/ANTLR3/Expression+evaluator) de cómo analizar una expresión y luego "ejecutarla". (Soy un desarrollador de JIRA, por lo que está recibiendo la historia interior :)) –

0

Atlassian construyeron JQL en la parte superior de Apache Lucene. Es posible que desee echar un vistazo a Elasticsearch o Solr, que son alternativas de código abierto, también se basa en Lucene.

Cuestiones relacionadas