diff --git a/concordia-server/searcher_controller.cpp b/concordia-server/searcher_controller.cpp index e2468e3..503d45a 100644 --- a/concordia-server/searcher_controller.cpp +++ b/concordia-server/searcher_controller.cpp @@ -8,6 +8,7 @@ #include "json_generator.hpp" #include "full_search_result.hpp" +#include "lemmatizer_result.hpp" #include "logger.hpp" @@ -25,11 +26,13 @@ void SearcherController::simpleSearch(rapidjson::Writer std::string & pattern, const int tmId) { boost::ptr_map::iterator it = _concordiasMap->find(tmId); - _tmDAO.getTm + Tm tm = _tmDAO.getTm(tmId); if (it != _concordiasMap->end()) { TokenizedSentence tokenizedPattern = it->second->tokenize(pattern, false, false); - pattern = _lemmatizerFacade->lemmatizeIfNeeded(tokenizedPattern.getTokenizedSentence(), tmId); - SimpleSearchResult result = _unitDAO.getSimpleSearchResult(it->second->simpleSearch(pattern, true)); + LemmatizerResult lemmatizerResult = _lemmatizerFacade->lemmatizeSentence(tokenizedPattern.getTokenizedSentence()); + + SimpleSearchResult result = _unitDAO.getSimpleSearchResult( + it->second->simpleSearch(lemmatizerResult.getLemmatizedSentence(), true)); jsonWriter.StartObject(); jsonWriter.String("status"); jsonWriter.String("success");