如何在间距中定义两个单词

时间:2017-05-11 05:16:47

标签: elasticsearch

我的弹性搜索编码如下:

"query": {  
  "constant_score" : {
       "filter" : {
        "bool": {
            "must": [
          {
             "terms": {"stkno" : ["Net Asset","asset combine"]}}, 
 { "range": { "CDate": {  "gte": "2015-01-01" ,  "lte": "2017-06-03T23:59:59"  } } } ]

    }}}}

这是映射:

{
  "news": {
  "mappings": {
     "bursa": {
        "_timestamp": {},
        "properties": {
           "CDate": {
              "type": "date",
              "format": "epoch_millis||dateOptionalTime"
           },
           "RDate": {
              "type": "date",
              "format": "epoch_millis||dateOptionalTime"
           },
           "category": {
              "type": "string"
           },
           "content": {
              "type": "string"
           },
           "exDate": {
              "type": "string"
           },
           "exgcode": {
              "type": "string"
           },
           "htext": {
              "type": "string"
           },
           "paymentDate": {
              "type": "string"
           },
           "stat": {
              "type": "string"
           },
           "stkno": {
              "type": "string"
           },
           "tag": {
              "type": "string"
           }
        }
     }
  }
 }
 }

如果我的话是:Net Asset and Asset合并,请在必须条件下使用,请提供建议 如果"资产合并"不是在弹性搜索和"新资产"在弹性搜索中,使用Must条件使所有索引都无法搜索?

怎么办我想在elasticsearch中找到这些单词? 因为它无法找到" Net Asset"当我使用时,确切的词应该是条件。

由于

1 个答案:

答案 0 :(得分:2)

由于stknoanalyzed字段,而您正在应用查找完全匹配的terms查询,因此您无法获取结果。试试这个。

 "bool": {
     "should": [
        {
           "match": {
              "stkno": "Net Asset",
               "operator": "and"
           }
        },
        {
           "match": {
              "stkno": "asset combine",
              "operator": "and"
           }
        }
     ],
     "must": [
        {
           "range": {
              "CDate": {
                 "gte": "2015-01-01",
                 "lte": "2017-06-03T23:59:59"
              }
           }
        }
     ]
  }

希望它有所帮助!!