sql >> Databáze >  >> RDS >> PostgreSQL

Django - Fulltextové vyhledávání - zástupný znak

Rozšiřuji třídu django SearchQuery a přepisuji plainto_tsquery pomocí to_tsquery . Udělal pár jednoduchých testů, funguje to. Vrátím se sem, pokud najdu případy, kdy to způsobuje problémy.

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

Nyní mohu udělat něco jako query = MySearchQuery('whatever:*')



  1. MySQL min a max pro každý sloupec

  2. Porovnání časů selhání databáze proxy - ProxySQL, MaxScale a HAProxy

  3. Je na serveru SQL nutný primární klíč?

  4. Jak funguje SESSION_CONTEXT() na serveru SQL Server