Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何构建复杂的搜索。对。富时_Python_Postgresql_Sqlalchemy_Full Text Search_Entity Attribute Value - Fatal编程技术网

Python 如何构建复杂的搜索。对。富时

Python 如何构建复杂的搜索。对。富时,python,postgresql,sqlalchemy,full-text-search,entity-attribute-value,Python,Postgresql,Sqlalchemy,Full Text Search,Entity Attribute Value,我正在为一个房地产上市网站构建一个复杂的搜索功能。为了能够按属性类别属性进行搜索,我定义了如下模型: 每个属性都有一个类别。类别是嵌套的 每个类别都为其支持的属性保存一个JSON规范 每个属性都有一个属性列表(作为JSON字段) 以下是实体(省略键、关系和方法): 因此,按类别属性搜索(无FTS)需要用户深入类别树,选择一个类别,根据可用的文本框和支持属性的下拉列表提供搜索输入 我们也有地址,描述,名字,我想应该用FTS引擎搜索 我知道我可以在创建包含所有必要数据的新属性记录时建立搜索索引,

我正在为一个房地产上市网站构建一个复杂的搜索功能。为了能够按属性类别属性进行搜索,我定义了如下模型:

  • 每个属性都有一个类别。类别是嵌套的
  • 每个类别都为其支持的属性保存一个JSON规范
  • 每个属性都有一个属性列表(作为JSON字段)
以下是实体(省略键、关系和方法):

  • 因此,按类别属性搜索(无FTS)需要用户深入类别树,选择一个类别,根据可用的文本框和支持属性的下拉列表提供搜索输入

  • 我们也有地址,描述,名字,我想应该用FTS引擎搜索

  • 我知道我可以在创建包含所有必要数据的新属性记录时建立搜索索引,然后使用分面搜索(这需要一些解释)

  • 如何将方面1-22-3与头脑结合起来?你能解释一下常规吗

    class Property(db.Model):
        name = db.Column(db.String(255), nullable=False)
        description = db.Column(db.Text, nullable=False)
        address_line = db.Column(db.String(255), nullable=False)
        price = db.Column(MoneyType, nullable=False)    
        attributes = db.Column(JSONB)
    
    class Category(db.Model, BaseNestedSets):
        name = db.Column(db.String(255), index=True, nullable=False)
        spec = db.Column(JSONB)
        override_spec = db.Column(db.BOOLEAN, default=True)