我们决定将es迁移到vespa es“minimumshould_match”查询如何转换为vespa查询?
例如:es查询:
"query_string": {
"minimum_should_match": "75%",
"fields": [],
"query": "may is test"
}"
上述查询意味着三次匹配至少两次
我尝试通过vespa“or”运算符转换此查询,但75%的人无法表达
感谢您对Vespa的关注,
这是一个相当奇怪的文本匹配特性,例如,仅仅因为其他一些不重要的匹配项是IMHO有问题的,就删除了一个重要的术语。例如,对于查询“what is text ranking”,要求2/3个术语匹配,可以匹配“what”和“is”,但重要部分被丢弃。我宁愿努力使用weakAnd查询运算符https://docs.vespa.ai/documentation/using-wand-with-vespa.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