我已经为索引中的tweetb类型创建了一个映射twitter:
curl -XPUT http://www.mydomain:9200/twitter/tweetb/_mapping -d '{
"twitter": {
"mappings": {
"tweetb": {
"properties": {
"message": {
"type": "string",
"null_value": "NA"
}
}
}
}
}
}'
Run Code Online (Sandbox Code Playgroud)
然后,我把一个文件:
curl -XPUT http://www.mydomain.com:9200/twitter/tweetb/1 -d '{"message": null}'
Run Code Online (Sandbox Code Playgroud)
然后,我试图让插入的doc回来:
curl -XGET http://www.mydomain:9200/twitter/tweetb/1
Run Code Online (Sandbox Code Playgroud)
那回来了:
{
"_index": "twitter",
"_type": "tweetb",
"_id": "1",
"_version": 2,
"found" : true,
"_source" : { "message": null }
}
Run Code Online (Sandbox Code Playgroud)
我"message" : "NA"在_source田野里期待着.但是,它似乎"null_value"不起作用.我错过了什么吗?
pic*_*ypg 32
该"null_value"字段映射不改变存储的值,而它的变化是在搜索中使用的值.
如果您尝试搜索您的"message"使用"NA",则它应显示在结果中:
curl -XPOST http://www.mydomain.com:9200/twitter/tweetb/_search -d '{
"query" : {
"match" : { "message" : "NA" }
}
}'
Run Code Online (Sandbox Code Playgroud)
有趣的是,它应该以实际价值回应null.现在,如果您添加一个原始值按字面意思"NA"并执行搜索的新文档,那么您应该看到上述查询返回了两个结果 - 一个带有值,另一个带有已null定义的.
也许有类似的兴趣,这适用于其他查询以及它如何被索引,这就是小写n.*匹配,但N.*半惊人地不匹配的原因:
curl -XPOST http://www.mydomain.com:9200/twitter/tweetb/_search -d '{
"query" : {
"regexp" : { "message" : "n.*" }
}
}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6670 次 |
| 最近记录: |