我想使用 fusejs 创建搜索,其中一个实体或关键字可以有多个名称,(别名)。在 fusejs分数是根据用户输入计算的,他/她可以输入任何名称。 在我的数据中,我只能有 1 个名字。 例如:“房子”
[
{"label": "House No. 436, Street 12, Phase 3"}
]
如果用户输入“house”,它会完美运行,但如果用户输入 Plot no、home no、apartment no、flat no 或任何此类词会怎样。在这种情况下,计算的分数将影响搜索结果。 如果有任何解决办法,请告诉我。
最佳答案
我通过为每个对象添加一个包含所有别名的新数组解决了这个问题。
[{"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
}]
};
现在如果用户输入任何关键字,都会产生同样的影响,因此不会影响实际的搜索结果。
关于javascript - 如何使用 Fusejs 忽略搜索中的某些术语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55061997/