Python SQLAlchemy:JSONB列键的向量搜索

Python SQLAlchemy:JSONB列键的向量搜索,python,sqlalchemy,Python,Sqlalchemy,我正在我的Sqlalchemy模型中实现向量搜索 下表如下: class MyModel(db.Model): title = db.Column(db.String(100)) description = db.Column(postgresql.JSONB, server_default='{}') search_vector = db.Column(TSVectorType('title', 'description', nullable=True) # crea

我正在我的Sqlalchemy模型中实现向量搜索

下表如下:

class MyModel(db.Model):
    title = db.Column(db.String(100))
    description = db.Column(postgresql.JSONB, server_default='{}')
    search_vector = db.Column(TSVectorType('title', 'description', nullable=True)  # created the search vector here
现在,搜索应该基于两个字段:'title''description'

'description'字段是JSONB类型,因此我在DB迁移文件中使用了下面的函数来实现对该列的搜索-

def upgrade():
    vectorizer.clear()
    conn = op.get_bind()
    register_composites(conn)
    op.add_column('my_model', sa.Column('search_vector', sa.Text, nullable=True), schema='my_schema')
    metadata = MetaData(schema='my_schema')

    @vectorizer(postgresql.JSONB)
    def data_vectorizer(column):
        return sa.cast(column, sa.Text)

    sync_trigger(conn, 'my_model', 'search_vector', ['title', 'description'], metadata=metadata)
    op.create_index(op.f('ix_my_model_search_vector'), 'my_model', ['search_vector'], unique=False,
                schema='my_schema')
搜索工作进展顺利

问题:

描述字段的值类似于:
{'section':'abc','item':'xyz}

现在,当我搜索时,如果
部分
的值是
'abc'
,我希望搜索一条记录。但是如果我使用值-
“section”
进行搜索,那么它也会显示记录。这是因为值-
{'section':'abc','item':'xyz'}
被完全转换为字符串,因此关键字
'section'
也被搜索,这是我不想要的

仅搜索
abc
,而不搜索
部分的任何解决方案

提前谢谢