0

我有一个这样的映射实体:

{ "Organisation":{
  "properties":{
     "_abstract_":{
        "type":"string",
        "store":"yes"
     },
     "_author_":{
        "type":"string",
        "store":"yes"
     },
     "_editdate_":{
        "type":"date",
        "index":"analyzed",
        "store":"yes",
        "format":"dateOptionalTime"
     },
     "_id_":{
        "type":"string",
        "index":"not_analyzed",
        "store":"yes",
        "omit_norms":true,
        "index_options":"docs"
     },
     "_title_":{
        "type":"string",
        "store":"yes"
     },
     "country":{
        "type":"string",
        "store":"yes"
     },
     "countrycode":{
        "type":"string",
        "index":"not_analyzed",
        "omit_norms":true,
        "index_options":"docs"
     },
     "creationdateutc":{
        "type":"date",
        "index":"analyzed",
        "store":"yes",
        "format":"dateOptionalTime"
     }, ...

CountryCode 可以具有类似 CNTRY/US 的值。我无法查询这个 - 即使它没有被分析,它仍然想将值分成两个标记。例如:

{ "query":{
  "bool":{
     "must":[
        {
           "term":{
              "countrycode":"cntry/us"
           }
        }
     ],
     "must_not":[

     ],
     "should":[

     ]
  }},   "from":0,   "size":50}

我不明白。我误解了一些简单的事情吗?

4

1 回答 1

0

我通过在字段映射中将搜索和索引分析器指定为“关键字”来解决这个问题。

我还通过对我正在搜索的值使用错误的大小写(当关键字时,值没有降低)以及在使用 Head 我获取查询而不是发布它时,使我的问题更加复杂。嗬!

谢谢

于 2013-02-14T03:24:12.927 回答