searchengine/cpix/cpix/src/document.cpp
changeset 7 a5fbfefd615f
parent 0 671dee74050a
child 19 e3c09e9691e0
equal deleted inserted replaced
3:ae3f1779f6da 7:a5fbfefd615f
    33 {
    33 {
    34     Field::Field(const wchar_t * name,
    34     Field::Field(const wchar_t * name,
    35                  const wchar_t * value,
    35                  const wchar_t * value,
    36                  int             configs) 
    36                  int             configs) 
    37         :	own_(true), field_(0) {
    37         :	own_(true), field_(0) {
       
    38         freeText_  = false;
    38         resolveConfig(configs); 
    39         resolveConfig(configs); 
    39         field_ = _CLNEW lucene::document::Field(name, value, configs); 		 
    40         field_ = _CLNEW lucene::document::Field(name, value, configs); 		 
    40     }
    41     }
    41 	
    42 	
    42 
    43 
    43     Field::Field(const wchar_t * name,
    44     Field::Field(const wchar_t * name,
    44                  lucene::util::Reader* stream,
    45                  lucene::util::Reader* stream,
    45                  int             configs) 
    46                  int             configs) 
    46 	:  own_(true), field_(0) {
    47 	:  own_(true), field_(0) {
       
    48         freeText_  = false;
    47         resolveConfig(configs); 
    49         resolveConfig(configs); 
    48         field_ = _CLNEW lucene::document::Field(name, stream, configs); 		 
    50         field_ = _CLNEW lucene::document::Field(name, stream, configs); 		 
    49     }
    51     }
    50 
    52 
    51 
    53 
    61             configs &= ~cpix_AGGREGATE_YES; // erase it from config
    63             configs &= ~cpix_AGGREGATE_YES; // erase it from config
    62         } else {
    64         } else {
    63             // Aggregate indexed fields by default. 
    65             // Aggregate indexed fields by default. 
    64             aggregate_ = !(configs & cpix_INDEX_NO);
    66             aggregate_ = !(configs & cpix_INDEX_NO);
    65         }
    67         }
       
    68         
       
    69         if(configs & cpix_FREE_TEXT){
       
    70             freeText_ = true;
       
    71             configs &= (~cpix_FREE_TEXT);
       
    72         }
    66     }
    73     }
    67 				    
    74 				    
    68 
    75 
    69     Field::Field(lucene::document::Field* field,
    76     Field::Field(lucene::document::Field* field,
    70                  bool aggregate,
    77                  bool aggregate,
    71                  bool own)	
    78                  bool own)	
    72 	: own_(own),
    79 	: own_(own),
    73       field_( field ), 
    80       field_( field ), 
    74 	  aggregate_( aggregate ) 
    81 	  aggregate_( aggregate ) 
    75 	   {
    82 	   {
       
    83         freeText_  = false;
    76     }
    84     }
    77 	
    85 	
    78     Field::~Field() {
    86     Field::~Field() {
    79         if (own_) {
    87         if (own_) {
    80             _CLDELETE( field_ );
    88             _CLDELETE( field_ );
   103     }
   111     }
   104 	
   112 	
   105     int Field::isIndexed() const {
   113     int Field::isIndexed() const {
   106         return field_->isIndexed(); 
   114         return field_->isIndexed(); 
   107     }
   115     }
   108 
   116     
       
   117     bool Field::isFreeText() const {
       
   118         return freeText_;
       
   119     }
       
   120     
   109     bool Field::isAggregated() const {
   121     bool Field::isAggregated() const {
   110         return aggregate_;
   122         return aggregate_;
   111     }
   123     }
   112 	
   124 	
   113     float_t Field::boost() const {
   125     float_t Field::boost() const {