Changeset 415 for projects/whoosh/trunk/src/whoosh/qparser/default.py
- Timestamp:
- 02/03/2010 06:45:12 PM (7 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
projects/whoosh/trunk/src/whoosh/qparser/default.py
r404 r415 182 182 183 183 def get_term_text(self, field, text, **kwargs): 184 if not field.format:185 raise Exception("%s field has no format" % field)186 187 184 # Just take the first token 188 for t oken in field.format.analyze(text, mode="query", **kwargs):189 return t oken.text185 for t in field.process_text(text, mode="query", **kwargs): 186 return t 190 187 191 188 def make_term(self, fieldname, text): 192 189 field = self._field(fieldname) 193 190 if field: 194 text = self.get_term_text(field, text) 195 if not text: 191 if field.parse_query: 192 return field.parse_query(fieldname, text) 193 else: 194 text = self.get_term_text(field, text) 195 196 if text is None: 196 197 return NullQuery 197 198 return self.termclass(fieldname, text) … … 200 201 field = self._field(fieldname) 201 202 if field: 202 texts = [t.text for t in field.format.analyze(text, mode="query")] 203 if field.parse_query: 204 return field.parse_query(fieldname, text) 205 206 texts = list(field.process_text(text, mode="query")) 203 207 if not texts: 204 208 return self.termclass(fieldname, u'') … … 213 217 field = self._field(fieldname) 214 218 if field: 215 ptext = self.get_term_text(field, text, tokenize=False, removestops=False) 216 if ptext: text = ptext 219 text = self.get_term_text(field, text, tokenize=False, removestops=False) 217 220 return Wildcard(fieldname, text) 218 221
