角物料表过滤基于字段匹配优先搜索相关性

时间:2019-05-06 06:58:03

标签: angular search filter angular-material

我目前有一个Angular material-ui表,该表带有自定义过滤器和材料芯片,可以通过添加多个关键字进行搜索。 (https://stackblitz.com/edit/angular-material-filter-with-chips)。我希望能够为用户的查询提供更多相关的返回值,例如

  1. 如果用户键入data,则第一个结果应为Data Science 1,因为data与课程标题匹配。
  2. 如果用户键入science,然后按Enter,然后键入data,则第一个结果应为Data Science 1,因为它的课程名称和说明都匹配。

我将如何修改过滤谓词以支持这种类型的过滤?

我正在考虑为每门课程添加一个整数相关性字段,并根据标题与描述是否匹配来对每门课程评分,然后在返回布尔值之前按谓词中的相关性对所有课程进行排序。是否有更健壮的方法来解决此问题,因为这将需要为添加的每个查询词计算相关性,并重新计算是否删除了一个词,并且我认为实现可能会有些毛病?

谢谢!

0 个答案:

没有答案