database - ElasticSearch-在字段总术语中使用minimum_should_match百分比

标签 database elasticsearch search indexing document

查询其他短语中包含的短语时,我试图避免出现误报结果。
我的希望是,使用minimum_should_match参数,我将能够根据该字段的总数将其设置为最少的字词。

{
   "match": {
       "notices.title": {
           "query": "Juan Pedro",
           "minimum_should_match": "-1"
        }
   }
}
预期结果是匹配 A.title =“胡安·佩德罗博士”,但不匹配 B.title =“胡安·佩德罗·潘博士”。如您所见,根据A中的术语总数,查询匹配-1,而B上的查询则为-2。
我已经阅读了文档,并且知道参数是要计算查询中子句总数所需的最小值,但是我希望有一种方法可以引用该字段的总数。
有任何想法吗?谢谢!
更新
按照@PrernaGupta所述的解决方案,为了避免不得不在查询中创建可变数量的匹配项,我最终使用了matchphrase。
然后,我使用了字符串+1中的 token 数量来与创建的 title.length 字段进行比较。
这似乎正在工作。让我知道您是否相信它会产生我没有看到的任何其他错误。
"bool": {
    "must": [
         {
           "match_phrase": {
                 "notices.title": {
                     "query": "Juan Pedro"
                  }
            }
          },
          {
            "term": {
                "notices.title.length": 3
             }
          }
     ]
}
再次感谢!

最佳答案

您可能会使用must和must_not
“minimum_should_match”:“-1”选项为“Juan”或“Pedro”匹配项

关于database - ElasticSearch-在字段总术语中使用minimum_should_match百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64053504/

相关文章:

database - 在 BerkeleyDB 中存储图像

mongodb - 在 Mongo 中,如何显示集合的索引?

elasticsearch - 自动完成 "smart"

algorithm - A* 启发式,高估/低估?

php - MySQL 日期变量和普通变量

php - 帮助 - 使用 PHP 插入 MySQL 数据库

elasticsearch - 在ElasticSearch中搜索查询分数详细信息

elasticsearch - Elasticsearch 在单个查询中找到两个字段的总和

javascript - 使用 JavaScript 调用维基百科搜索 API

c# - 在数据库中搜索时忽略空文本框