equal
deleted
inserted
replaced
54 } |
54 } |
55 |
55 |
56 // Class definitions |
56 // Class definitions |
57 namespace Cpix |
57 namespace Cpix |
58 { |
58 { |
|
59 |
|
60 /** |
|
61 * This is a special filter that is used to generate prefixes |
|
62 * of the searched words. |
|
63 * |
|
64 * For example token "chapter" will be split into tokens "ch" and "c" |
|
65 * if maxPrefixLength is set as 2. |
|
66 */ |
|
67 class PrefixGenerator : public lucene::analysis::TokenFilter { |
|
68 |
|
69 public: |
|
70 |
|
71 PrefixGenerator(lucene::analysis::TokenStream* in, |
|
72 bool deleteTS, |
|
73 size_t maxPrefixLength); |
|
74 |
|
75 virtual ~PrefixGenerator(); |
|
76 |
|
77 /** |
|
78 * Returns |
|
79 */ |
|
80 virtual bool next(lucene::analysis::Token* token); |
|
81 |
|
82 private: |
|
83 |
|
84 lucene::analysis::Token token_; |
|
85 |
|
86 size_t prefixLength_; |
|
87 |
|
88 size_t maxPrefixLength_; |
|
89 |
|
90 }; |
|
91 |
59 /** |
92 /** |
60 * Aggregates token streams from all fields marked from aggregation. |
93 * Aggregates token streams from all fields marked from aggregation. |
61 * Used to generate the contents of the _aggregate field. |
94 * Used to generate the contents of the _aggregate field. |
62 */ |
95 */ |
63 class AggregateFieldTokenStream : public lucene::analysis::TokenStream { |
96 class AggregateFieldTokenStream : public lucene::analysis::TokenStream { |