我为房地产列表网站构建了一个复杂的搜索功能。为了能够按属性类别属性进行搜索,我将模型定义为:
以下是实体(键,关系,方法省略):
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)
因此,按类别 - 属性(没有FTS)进行搜索将要求用户向下钻取类别树,选择类别,根据可用文本框提供搜索输入,支持属性的下拉列表。
我们也有地址,描述,名称,我认为应该使用FTS引擎进行搜索。
我知道我可以在创建包含所有必要数据的新属性记录时构建搜索索引,然后使用分面搜索(这需要一些解释)。
如何结合 1 - 2 或 2 - 3 等方面?你能解释一下这个例程吗?