HCE project C++ developers source code library  1.1.1
HCE project developer library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
SphinxResultTruncater.hpp
Go to the documentation of this file.
1 
15 #ifndef SPHINXRESULTTRUNCATER_HPP_
16 #define SPHINXRESULTTRUNCATER_HPP_
17 
19 #include "SphinxResultSorterIf.hpp"
23 
24 namespace HCE
25 {
26 namespace sphinx
27 {
28 namespace reduce_task
29 {
30 
32 public:
34  virtual ~SphinxResultTruncater();
35 
36  Poco::SharedPtr<SphinxResultData> trancate(Poco::SharedPtr<SphinxResultData>& sphinxResultData);
37 
38 private:
39  SphinxResultNullSorter _sphinxResultNullSorter;
40  SphinxResultAscSorter _sphinxResultAscSorter;
41  SphinxResultDescSorter _sphinxResultDescSorter;
42 
43  SphinxResultSorterIf& selectResultSorter(Poco::SharedPtr<SphinxResultData> &sphinxResultData);
44  void trancateByWeight(
45  std::vector<std::pair<std::string, unsigned long long> > &sortedWeightDocIds,
46  Poco::SharedPtr<SphinxResultData>& sphinxResultData);
47 };
48 
49 }
50 }
51 }
52 
53 #endif