我想实现这样的搜索逻辑:“给我索引中的所有与我的术语相匹配的文章,并且更喜欢某个类别的文章”。
在弹性搜索中,可以使用“应该”布尔查询:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html来实现这一点。
子句(查询)是否应该出现在匹配的文档中。
但我不知道如何在Azure认知搜索中实现这一点。一种选择是搜索不属于类别的所有文章,然后搜索所有不在类别中的文章,并在评分的基础上建立某种全球秩序。
有内置功能吗?
发布于 2021-11-04 19:55:33
您应该能够通过使用允许在过滤器表达式中编写全文搜索的search.ismatchscoring来实现所需的行为。
此筛选器表达式将确保skateboards位于Title中,并在Category中搜索sports以帮助评分,但由于or语句,它仍将返回其他类别的文档:
search.ismatchscoring('skateboards', 'Title') and (search.ismatchscoring('sports', 'Category') or search.ismatchscoring('*'))
https://stackoverflow.com/questions/69843991
复制相似问题