elasticsearch - Elasticsearch ,multi_match 如何使用 multi minimum_should_match
问题描述
我想要多mininmum_should_match
查询multi_match
例如
GET /similarity/_search
{
"query": {
"multi_match": {
"query": "Zamana su miktarı gösterilmiştir. ",
"fields": ["text1"],
"type": "best_fields",
"minimum_should_match": "5<10%"
}
}
}
我想要两个条件minimum_should_match
如下,但我怎么能做到
小心 minimum_should_match
GET /similarity/_search
{
"query": {
"multi_match": {
"query": "Zamana su miktarı gösterilmiştir. ",
"fields": ["text1"],
"type": "best_fields",
"minimum_should_match": "5<10% 15<%25"
}
}
}
解决方案
我认为你的做法是对的。
您可以使用 1<40% 4<90% 的 minimum_should_match 条件。这意味着如果您的搜索标记数小于或等于 1,则所有标记都应匹配,如果它们大于 1 且小于或等于 4,则 40% 应匹配,如果它们大于 4,则 90% 应匹配匹配。
要记住的是,您使用的是以字段为中心的 best_fields,因此它会为每个字段生成 minimum_should_match 条件。因此,如果您有“text1”以外的字段,则将为每个字段生成一个最低应匹配条件。如果这不是您想要的,那么您应该使用 cross_fields。在此处阅读更多信息:https ://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html
推荐阅读
- javascript - 使用 onClick 事件渲染 JSX Switch Case
- ios - UITableView 中的 iOS 13 UISegmentedControl 缓存先前的选择
- php - 如何在 laravel 的 highchart bar consoletv/charts 包上显示数据标签
- sql - 如果日期是连续的,则查询并返回用户请求
- discord.js - 如何打开包含 json 内容的页面并将其放入变量中
- ruby-on-rails - 设计新用户注册不保存
- python - 来自 bs4 的代码不起作用,尽管我已经尝试了它显示我需要转换代码的所有方法
- c# - 如何延迟 Unity 和 C# 中的方法?
- amazon-web-services - 多个 ENI Lambda 的源选择
- sql - 在 SQL Server 中解析多根 XML