2014-07-09 72 views
0

查询:弹性搜索错误响应,搜索 'IN' 值

HTTP://:9200/rif_orig/RIF/_search Q = F7Y * &选自= O &大小= 10

响应:?

{ 
    "took": 4, 
    "timed_out": false, 
    "_shards": { 
    "total": 5, 
    "successful": 5, 
    "failed": 0 
    }, 
    "hits": { 
    "total": 1, 
    "max_score": 1.0, 
    "hits": [ 
     { 
     "_index": "rif_orig", 
     "_type": "rif", 
     "_id": "INF7YCOriginale", 
     "_score": 1.0, 
     "_source": { 
      "IDRIF": "INF7YCOriginale", 
      "R01PRO": "IN", 
      "R01RIF": "F7YC", 
      "R01DES": "CANDELA CHAMPION", 
      "R01PRE": "3.20", 
      "R01CPR": "", 
      "ARTPRO": "IN", 
      "ARTPAG": "1", 
      "ALTORG": "Originale", 
      "timestamp": "201407091018" 
     } 
     } 
    ] 
    } 
} 

查询:

HTTP://:9200/rif_orig/RIF/_search q = IN &选自= O &大小= 10

响应:

{ 
    "took": 5, 
    "timed_out": false, 
    "_shards": { 
    "total": 5, 
    "successful": 5, 
    "failed": 0 
    }, 
    "hits": { 
    "total": 0, 
    "max_score": null, 
    "hits": [ 

    ] 
    } 
} 

我试图Q = “IN”,Q = R01PRO: “IN”,Q = R01PRO:(IN)Q = R01PRO: “\” IN “\” 相同结果.... 'IN'是保留字?我怎么能逃脱它。 我使用elastich搜索0.9是旧的,但不能立即升级它... 任何人都可以帮助我吗?

回答

1

您使用的是什么版本的Elasticsearch? “IN”是stop word,但在大于1.0的Elasticsearch版本中,默认情况下不会删除停用词。要么使用旧版本的Elasticsearch,要么已启用停用词的删除。