我想使用fusejs创建一个搜索,其中一个实体或关键字可以有多个名称(别名)。在fusejs中,分数是根据用户输入来计算的,他/她可以输入任何名称。 在我的数据中,我只能有1个名字。 例如:“房屋”
[
{"label": "House No. 436, Street 12, Phase 3"}
]
如果用户输入“房屋”,则效果很好,但是如果用户输入“地块编号”或“房屋编号”,“公寓编号”,“公寓编号”或任何此类单词,该怎么办。在这种情况下,计算出的分数将影响搜索结果。 请告诉我是否有解决办法。
答案 0 :(得分:1)
我通过向每个对象添加包含所有别名的新数组解决了此问题。
[{"label": "House No. 436, Street 12, Phase 3", tags: ["Plot No", "Flat no", "Apartment no"]}]
,依此类推。然后,我将加权权重为0.7的加权搜索应用于变量label
,将别名权重为0.3的加权搜索。
keys: [{
name: 'tags',
weight: 0.3
}, {
name: 'label',
weight: 0.7
}]
};
现在,如果用户输入任何关键字,将产生相同的影响,因此实际的搜索结果不会受到影响。