sql >> Database teknologi >  >> RDS >> PostgreSQL

Django - Fuldtekstsøgning - Wildcard

Jeg udvider django SearchQuery-klassen og tilsidesætter plainto_tsquery med to_tsquery . Har lavet nogle simple tests, det virker. Jeg vender tilbage hertil, hvis jeg finder tilfælde, hvor dette giver problemer.

from django.contrib.postgres.search import SearchQuery

class MySearchQuery(SearchQuery):
    def as_sql(self, compiler, connection):
        params = [self.value]
        if self.config:
            config_sql, config_params = compiler.compile(self.config)
            template = 'to_tsquery({}::regconfig, %s)'.format(config_sql)
            params = config_params + [self.value]
        else:
            template = 'to_tsquery(%s)'
        if self.invert:
            template = '!!({})'.format(template)
        return template, params

Nu kan jeg gøre noget som query = MySearchQuery('whatever:*')



  1. Oracle Instant Client til ARM-baseret Debian-enhed

  2. MySQL WHERE NOT IN ekstremt langsom

  3. php multidimension array genereret fra databasen

  4. Advarsel:mysqli_num_rows() forventer præcis 1 parameter, 2 givet | mysql |mysqli