hce-node application  1.4.3
HCE Hierarchical Cluster Engine node application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
SphinxResultBuilder.hpp
Go to the documentation of this file.
1 
15 #ifndef SPHINXRESULTBUILDER_HPP_
16 #define SPHINXRESULTBUILDER_HPP_
17 
19 #include <vector>
20 
21 namespace HCE {
22 namespace sphinx{
23 namespace reduce_task {
24 
26 public:
28  virtual ~SphinxResultBuilder();
29 
30  Poco::SharedPtr<SphinxResultData> build(
31  Poco::SharedPtr<SphinxReduceDataStorage> &sphinxDataStorage,
32  const Poco::SharedPtr<HCE::reduce::core::ReduceResultIf> &sphinxReduceResult,
33  const std::vector<SphinxRequestInfo>& requestInfo);
34 
35  Poco::SharedPtr<SphinxResultData> buildFromUsingKeys(
36  const Poco::SharedPtr<SphinxResultData> &sphinxResultData,
37  std::vector<std::pair<std::string, unsigned long long> > &selectWeightKeys);
38 
39 private:
40  static void fillMatchInfo(Poco::SharedPtr<SphinxReduceDataStorage> &sphinxDataStorage,
41  Poco::SharedPtr<HCE::reduce::core::ReduceResultIf> sphinxReduceResult,
42  Poco::SharedPtr<SphinxResultData>& newSphinxResultData);
43 
44  static void fillRequestInfo(const std::vector<SphinxRequestInfo>& requestInfo,
45  Poco::SharedPtr<SphinxResultData>& newSphinxResultData);
46 
47  static void fillMatchDataBaseOnKeys(const Poco::SharedPtr<SphinxResultData> &sphinxResultData,
48  std::vector<std::pair<std::string, unsigned long long> > &selectWeightKeys,
49  Poco::SharedPtr<SphinxResultData> &newSphinxResult);
50 
51  static void fillRequestInfoBaseOnResultData(const Poco::SharedPtr<SphinxResultData> &sphinxResultData,
52  Poco::SharedPtr<SphinxResultData> &newSphinxResult);
53 
54  static void buildMatchInfoMap(std::map<unsigned long long, SphinxMatchInfo> &keysMatchInfo,
55  const Poco::SharedPtr<SphinxResultData> &sphinxResultData);
56 };
57 
58 }
59 }
60 }
61 
62 #endif