sql >> データベース >  >> RDS >> PostgreSQL

Django-全文検索-ワイルドカード

    django SearchQueryクラスを拡張し、plainto_tsqueryをオーバーライドします to_tsqueryを使用 。いくつかの簡単なテストを行いました、それは動作します。これが問題を引き起こすケースを見つけたら、ここに戻ります。

    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
    

    これで、query = MySearchQuery('whatever:*')のようなことができます。



    1. SQL ServerでのSIGN()の例

    2. LIMIT句でbindValueメソッドを適用するにはどうすればよいですか?

    3. select...into に対して sp_executeSql を実行しますが、Temp テーブル データを選択できません

    4. クラウドベンダーの詳細:MicrosoftAzure上のPostgreSQL