def _parse(self): query = self.preprocess_query(self.query) if self.syntax == "cloudsearch": self.bq = self.customize_query(query) elif self.syntax == "lucene": # For the most part, conversion to cloudsearch structured query syntax # is not needed, except for fielded searches using ":" and boolean # searches using AND/OR/NOT (in order to avoid transforming the query) lucene_operators = (':', ' AND ', ' OR ', ' NOT ') if (self.bypass_l2cs and not any(op in query for op in lucene_operators)): self.q = query.encode('utf-8') self.bq = self.customize_query() else: bq = l2cs.convert(query, self.lucene_parser) self.converted_data = { "syntax": "cloudsearch", "converted": bq } self.bq = self.customize_query(bq) elif self.syntax == "plain": self.q = query.encode('utf-8') self.bq = self.customize_query() if not self.q and not self.bq: raise InvalidQuery
def _parse(self): if self.syntax == "cloudsearch": self.bq = self.customize_query(self.query) elif self.syntax == "lucene": bq = l2cs.convert(self.query, self.lucene_parser) self.converted_data = {"syntax": "cloudsearch", "converted": bq} self.bq = self.customize_query(bq) elif self.syntax == "plain": self.q = self.query.encode("utf-8") self.bq = self.customize_query() if not self.q and not self.bq: raise InvalidQuery
def _parse(self): if self.syntax == "cloudsearch": self.bq = self.customize_query(self.query) elif self.syntax == "lucene": bq = l2cs.convert(self.query, self.lucene_parser) self.converted_data = {"syntax": "cloudsearch", "converted": bq} self.bq = self.customize_query(bq) elif self.syntax == "plain": self.q = self.query.encode('utf-8') self.bq = self.customize_query() if not self.q and not self.bq: raise InvalidQuery
def _run(self, start=0, num=1000, _update=False): """Run the search against self.query""" q = None if self.syntax == "cloudsearch": self.bq = self.customize_query(self.query) elif self.syntax == "lucene": bq = l2cs.convert(self.query, self.lucene_parser) self.converted_data = {"syntax": "cloudsearch", "converted": filters._force_unicode(bq)} self.bq = self.customize_query(bq) elif self.syntax == "plain": q = self.query if g.sqlprinting: g.log.info("%s", self) return self._run_cached(q, self.bq, self.sort, start=start, num=num, _update=_update)
def _run(self, start=0, num=1000, _update=False): '''Run the search against self.query''' q = None if self.syntax == "cloudsearch": self.bq = self.customize_query(self.query) elif self.syntax == "lucene": bq = l2cs.convert(self.query, self.lucene_parser) self.converted_data = {"syntax": "cloudsearch", "converted": filters._force_unicode(bq)} self.bq = self.customize_query(bq) elif self.syntax == "plain": q = self.query if g.sqlprinting: g.log.info("%s", self) return self._run_cached(q, self.bq, self.sort, start=start, num=num, _update=_update)
def _run(self, start=0, num=1000, _update=False): '''Run the search against self.query''' q = None if self.syntax == "cloudsearch": self.bq = self.customize_query(self.query) elif self.syntax == "lucene": bq = l2cs.convert(self.query, self.lucene_parser) self.converted_data = {"syntax": "cloudsearch", "converted": bq} self.bq = self.customize_query(bq) elif self.syntax == "plain": q = self.query.encode('utf-8') if g.sqlprinting: g.log.info("%s", self) return self._run_cached(q, self.bq.encode('utf-8'), self.sort, self.faceting, start=start, num=num, _update=_update)
def _run(self, _update=False): '''Run the search against self.query''' q = None if self.syntax == "cloudsearch": self.bq = self.customize_query(self.query) elif self.syntax == "lucene": bq = l2cs.convert(self.query, self.lucene_parser) self.converted_data = {"syntax": "cloudsearch", "converted": bq} self.bq = self.customize_query(bq) elif self.syntax == "plain": q = self.query.encode('utf-8') self.bq = self.customize_query() if g.sqlprinting: g.log.info("%s", self) return self._run_cached(q, self.bq.encode('utf-8'), self.sort, self.rank_expressions, self.faceting, start=self.start, num=self.num, _update=_update)
def _parse(self): query = self.preprocess_query(self.query) if self.syntax == "cloudsearch": self.bq = self.customize_query(query) elif self.syntax == "lucene": # For the most part, conversion to cloudsearch structured query syntax # is not needed, except for fielded searches using ":" and boolean # searches using AND/OR/NOT (in order to avoid transforming the query) lucene_operators = (":", " AND ", " OR ", " NOT ") if self.bypass_l2cs and not any(op in query for op in lucene_operators): self.q = query.encode("utf-8") self.bq = self.customize_query() else: bq = l2cs.convert(query, self.lucene_parser) self.converted_data = {"syntax": "cloudsearch", "converted": bq} self.bq = self.customize_query(bq) elif self.syntax == "plain": self.q = query.encode("utf-8") self.bq = self.customize_query() if not self.q and not self.bq: raise InvalidQuery
def test_unicode3(self): '''Result of l2cs.convert should be unicode, part 2''' result = l2cs.convert(u'foo:\u0ca0_\u0ca0', self.parser) self.assertIsInstance(result, unicode)
def test_unicode4(self): '''Result of l2cs.convert should be unicode''' result = l2cs.convert(u'foo:bar', self.parser) self.assertIsInstance(result, unicode)