弹性搜索查询字符串查询

Ani*_*Pol 4 elasticsearch

我试图使用查询字符串查询获取记录.
我的搜索方案如下:
我必须搜索:"I Love my " AND (HTC OR Iphone OR Samsung)
我希望结果如下:

  • 我爱我的HTC
  • 我爱我的Iphone
  • 我爱我的三星

我只是尝试了一些组合,但它不起作用

{
  "query": {
            "query_string": {
                "default_field": "SearchContent",
               "query": "\"I Love my\" AND (HTC OR Iphone OR Samsung)"
            }
        }
}
Run Code Online (Sandbox Code Playgroud)

我如何使用查询字符串执行此操作或者是否有任何其他选项,我被卡住了.帮帮我.

kgm*_*kgm 9

查询取决于您的_mapping.如果您没有定义任何,那么可能使用标准分析仪.如果是这样,那么代币是:

  • 我爱我的HTC - >"我","爱","我的","htc"
  • 我爱我的Iphone - >"我","爱","我的","iphone"
  • 我爱我的三星 - >"我","爱","我的","三星"

注意令牌是小写的.

查询字符串的正确格式为:

GET /yourindex/_search
{
  "query": {
    "query_string": {
      "default_field": "SearchContent",
      "query": "\"i love my\" AND (samsung OR htc OR iphone)"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)