当前位置: 首页 > 知识库问答 >
问题:

ES“minimum_should_match”查询如何转换为vespa查询?

耿和韵
2023-03-14

我们决定将es迁移到vespa es“minimumshould_match”查询如何转换为vespa查询?

例如:es查询:

"query_string": {
                       "minimum_should_match": "75%",
                       "fields": [],
                       "query": "may is test"
}"

上述查询意味着三次匹配至少两次

我尝试通过vespa“or”运算符转换此查询,但75%的人无法表达

共有1个答案

廉学潞
2023-03-14

感谢您对Vespa的关注,

这是一个相当奇怪的文本匹配特性,例如,仅仅因为其他一些不重要的匹配项是IMHO有问题的,就删除了一个重要的术语。例如,对于查询“what is text ranking”,要求2/3个术语匹配,可以匹配“what”和“is”,但重要部分被丢弃。我宁愿努力使用weakAnd查询运算符https://docs.vespa.ai/documentation/using-wand-with-vespa.html

没有直接替换,但您可以使用排名分数下降限制在第一阶段排名函数中删除文档。

  • https://docs.vespa.ai/documentation/reference/schema-reference.html#rank-score-drop-limit
  • https://docs.vespa.ai/documentation/reference/rank-features.html
rank-profile odd-ranking {
  first-phase {
    rank-score-drop-limit: -5
    expression: if(matchCount(text)/queryTermCount < 0.75, -10, bm25(text))
  }
}

在这种情况下,如果match count(text)/query termcount低于0.75,则该文档的第一阶段等级得分为-10,将从结果集中删除,如果它大于0.75,则它对文本使用bm25得分。

但同样,看看弱。它将专注于重要的查询词,而不是文本匹配。

 类似资料:
  • 我使用了cakephp Mysql到mongodb查询组件,即将Mysql查询转换到mongodb中,但是当查询有多个括号时代码停止工作,我还尝试将http://www.querymongo.com/site上的查询转换为相同的问题,

  • 我想在JPA 2.1中将“命名查询”转换为“SQL查询”,并在运行之前对其进行更改。 例如,我有一个命名查询:从CU所在的客户中选择CU。代码=?1,我希望在PAR之后获得查询并对其进行转换和编辑(例如添加模式名称)并创建此查询:从db1.cc1cust cu中选择*其中cu.cc1cod=?1. 我该怎么做? 问候

  • 问题内容: 我想从数据库中删除某些项目。我有以下查询: 这有效,并返回2个结果。 现在,我想将此查询转换为查询。但是,以下操作无效: MySQL引发以下错误: 1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“ WHERE entry.sheetID = sheets.id ANDsheets.clientID = 13”附近使用 我在这里做错

  • 问题内容: 我的最后一篇文章是关于在LEFT OUTER JOIN上编写带有条件的SQL查询的最佳方法: LEFT OUTER JOIN带有条件(在哪里排序)? 现在,我需要将该段好的SQL转换成一个不错的Active Record查询(Rails 3)。;-) 我有2个型号: 培训 has_many:training_histories TrainingHistory 所属类别:培训 如何编写范

  • 问题内容: 我想将以下SQL查询转换为Elasticsearch之一。谁能帮上忙 我尝试了以下方法: 但不确定我是否做对了,因为它无法验证结果。似乎要在聚合内添加查询。 问题答案: 假设您使用Elasticsearch 2.x,则有可能在Elasticsearch中 具有 -semantics。我不知道2.0之前的可能性。 您可以使用新的Pipeline Aggregation Bucket Se

  • 问题内容: 多亏了Erwin Brandstetter在我之前的问题“具有has_many关系的订单”中的帮助,我的SQL查询才能正常工作。 如何将该SQL转换为ActiveRecords或AREL查询以在范围中使用? 我最近来的是在朋友的帮助下… …这给了我一个错误: 更新: 我之前的问题对相关的架构和查询有完整的描述。但是基本上Articles have_many Metrics和一个Metr