00001 #ifndef LUX_API_QUERYPARSER_H 00002 #define LUX_API_QUERYPARSER_H 00003 00004 #include <string> 00005 #include "lux/query/phrase_query.h" 00006 #include "lux/query/boolean_query.h" 00007 00008 namespace Lux { 00009 00010 struct phrase_t { 00011 std::string index; 00012 std::string phrase; 00013 }; 00014 00018 class QueryParser { 00019 public: 00024 static Query *parse(const char *query); 00029 static Query *parse(std::string query); 00030 00031 private: 00032 static phrase_t split_token_(std::string &token); 00033 00034 }; 00035 } 00036 00037 #endif