当前位置: 首页 > 面试题库 >

词组之间的Elasticsearch OR操作

袁智明
2023-03-14
问题内容

在Elasticsearch中是否可以在单个查询中获取所有包含短语1或短语2的文档?我知道要匹配一个短语,可以使用以下查询:

"query" : {
        "match_phrase" : {
            "title" : "rock climbing"
        }
    }

但是,如果有多个词组并且目标是检索包含这些词组之一的文档,情况如何?


问题答案:

您可以将两个match_phrase查询包装在布尔查询的should子句中:

{
  "query" : {
    "bool": {
      "should": [
        {
          "match_phrase" : {
            "title" : "phrase1"
          }
        },
        {
          "match_phrase": {
            "title": "phrase2"
          }
        }
      ],
      "minimum_number_should_match": 1
    } 
  }
}


 类似资料:
  • 我有一个用法,我想纠正单词。我有一套正确和不正确的单词[拼写错误]。我用所有的话填充了trie。我对每个词都有正确和不正确的版本。 如果我得到一个“A”字来更正, --我在trie中搜索它。如果trie有这个词,我想把这个词和这个词的正确版本联系起来。 解决方案:我可以在Trie中错误单词的最后一个节点设置单词的正确版本[“A1”]。并可将其解析为“A1”。 但是我必须在最后一个节点存储每个单词的

  • 本文向大家介绍Java 8中的中间操作和终端操作之间的区别,包括了Java 8中的中间操作和终端操作之间的区别的使用技巧和注意事项,需要的朋友参考一下 在Java 8中引入了Stream,它仅用于处理数据组而不用于存储元素。它不修改实际的集合,它们仅根据流水线方法提供结果。 Stream api支持多种操作,并且操作分为两部分- 中间操作—这些操作用于管道化其他方法并转换为其他流。它们不会产生结果

  • 问题内容: 我正在与一个以Java中的图形渲染器为目标的小组合作。我试图弄清楚以 java.awt.Graphics2D 为目标是否会向前兼容。即,其他库(例如JavaFX)是否可以显示 Graphics2D 实例的渲染? java.awt.Graphics2D 和 javafx.scene.canvas.GraphicsContext 之间是否存在互操作性? 或者,如果不是直接在 Graphic

  • 问题内容: 我使用的是条形码字体“ 9个常规中的3个免费字体”,在某些情况下,打印输出需要有多个空格,以匹配字段中的字符数。例: (项目编号后跟四个空格,以形成12个字符。如果字符数少,条形码阅读器会给我一个错误。 将强制使用多个空格,但是IE和Firefox都将它们显示为标准字体空间,并且不使用条形码字体。条形码在非空格字符之间显示为细分。(顺便说一句,只有IE 6才以正确的字体显示。)如果我使

  • 问题内容: 以下各组元素检索操作中的每组中,不同方法之间是否存在差异? 返回null +删除操作: ,。 返回null +不删除操作: ,。 引发异常+删除操作: ,,。 引发异常+不删除操作: ,。 插入方法中存在类似的重复项。 如果没有这种区别,我希望它会在方法的javadoc中提及(类似旧的“这就像调用…”之类的东西)。仅仅是草率的文档,还是我缺少任何东西? 问题答案: 它们之间没有什么区别

  • 导入javax.swing.*; class Labels extensions JFrame{ JPanel pnl = new JPanel(); } 如果我想将其用作JApplet怎么办?必须做什么?很难更改吗? JFrame上运行的东西和JApplet上的东西是一样的吗?