diff --git a/concordia-server/searcher_controller.cpp b/concordia-server/searcher_controller.cpp index 0be150e..11d36ac 100644 --- a/concordia-server/searcher_controller.cpp +++ b/concordia-server/searcher_controller.cpp @@ -2,8 +2,11 @@ #include #include +#include #include "json_generator.hpp" +#include "logger.hpp" + SearcherController::SearcherController(boost::shared_ptr >concordiasMap) throw(ConcordiaException): @@ -43,8 +46,11 @@ void SearcherController::concordiaPhraseSearch(rapidjson::Writer::iterator it = _concordiasMap->find(tmId); if (it != _concordiasMap->end()) { if (intervals.size() > 0) { - std::string shortPattern = pattern.substr(intervals[0].getStart(), intervals[0].getEnd() - intervals[0].getStart()); +// std::string shortPattern = pattern.substr(intervals[0].getStart(), intervals[0].getEnd() - intervals[0].getStart()); + std::string shortPattern = _substrUTF8(pattern, intervals[0].getStart(), intervals[0].getEnd() - intervals[0].getStart()); + Logger::log("concordiaPhraseSearch"); + Logger::logString("short pattern", shortPattern); std::vector shortPatternResults = _unitDAO.getSearchResults(it->second->simpleSearch(shortPattern)); @@ -73,7 +79,7 @@ void SearcherController::concordiaPhraseSearch(rapidjson::Writersecond->concordiaSearch(pattern.substr(currStart))); + it->second->concordiaSearch(_substrUTF8(pattern,currStart,INT_MAX))); lastRestResult.offsetPattern(currStart); bestOverlay.insert(bestOverlay.end(), lastRestResult.getBestOverlay().begin(), lastRestResult.getBestOverlay().end()); @@ -129,3 +135,17 @@ void SearcherController::concordiaSearch(rapidjson::Writer > _concordiasMap; UnitDAO _unitDAO;