多语言方法有两个短语 - 弹性搜索

时间:2016-04-14 07:11:50

标签: c# asp.net elasticsearch nest

我有一段说

  

Lorem Ipsum只是打印和排版的虚拟文本   行业。 Lorem Ipsum一直是业界标准的虚拟文本   自16世纪以来,当一个未知的打印机采用了类型的厨房   把它拼凑成一本样本书。它不仅幸存下来   五个世纪,也是电子排版的飞跃,   基本保持不变。

现在我想在这个段落中使用匹配短语和两个短语。

  

1.简单的打印虚拟文本

     

2.制作一本样本书

弹性搜索查询应检查段落中是否存在这两个短语并返回答案。我怎样才能做到这一点?

先谢谢。

我对代码的看法:

{
    "query": {
        "match_phrase": {
            "paragraph": {
                "query": {"simply dummy text of the printing","make a type specimen book"}
            }
        }
    }
}

这是正确的做法吗?

1 个答案:

答案 0 :(得分:3)

“和”条件:

{
  "query": {
    "bool": {
      "must": [
        {
          "match_phrase": {
            "paragraph": "simply dummy text of the printing"
          }
        },
        {
          "match_phrase": {
            "paragraph": "make a type specimen book"
          }
        }
      ]
    }
  }
}

“或”条件:

{
  "query": {
    "bool": {
      "should": [
        {
          "match_phrase": {
            "paragraph": "simply dummy text of the printing"
          }
        },
        {
          "match_phrase": {
            "paragraph": "make a type specimen book"
          }
        }
      ]
    }
  }
}