我的映射:
POST /packtwo-order-sku-log
{
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
},
"mappings": {
"baitu": {
"properties": {
"order_id":{
"type": "long"
},
....
}
}
}
}
当我搜寻
"query": {"term" : {"order_id" : 10160815114820888}}
要么
"query": {"match" : {"order_id" : 10160815114820888}}
我的点击数是0;但是,当我将order_id更改为1016081511482088 7时 ,我获得了成功。但是,返回的JSON ES显示:
"hits": [
{
"_index": "packtwo-order-sku-log",
"_type": "baitu",
"_id": "AVaMWcchVwJTsNV878q2",
"_score": 2.7917593,
"_source": {
"order_id": 10160815114820888,
...
}
}
我搜索了10160815114820888->没有结果
我搜索了1016081511482088 7- >结果是1016081511482088 8
我在官方文档中找到了long类型:
long
A signed 64-bit integer with a minimum value of -2^63 and a maximum value of 2^63-1
我的数据不超过2 ^ 63-1
那我怎么了
这是由于IEEE-754双精度浮点值的舍入问题)。
可以安全地表示直到53位的整个值,但是10160815114820887的长度为54位(1001000001100100110110101000111111000100011000001110100010111)
您所索引的实际数字确实是10160815114820887,但是由于上述四舍五入问题,已对其进行索引并显示为10160815114820888
您可以在浏览器的Javascript控制台中尝试以下操作:
> var num = 10160815114820887; <--- assign value
< undefined
> num <--- display value
< 10160815114820888
您还可以在ES中尝试快速测试:
# create doc with 10160815114820887
POST test/test/1
{ "number": 10160815114820887 }
# get doc 1
GET test/test/1
# result
{ "number": 10160815114820888 }
如您所见,您已编入索引(10160815114820887)的数字显示为10160815114820888,并且可以找到为10160815114820887,因为它在搜索时也会四舍五入为10160815114820888。
问题内容: 我的映射: 当我搜寻 要么 我的点击数是0;但是,当我将order_id更改为1016081511482088 7时 ,我获得了成功。但是,返回的JSON ES显示: 我搜索了10160815114820888->没有结果 我搜索了1016081511482088 7- >结果是1016081511482088 8 我在官方文档中找到了long类型: 我的数据不超过2 ^ 63-1 那
类型映射 web3j中使用的原生Java到ABI类型映射如下: boolean -> bool BigInteger -> uint/int byte[] -> bytes String -> string and address types List<> -> dynamic/static array BigInteger类型必须用于数字类型,因为Ethereum以太坊中的数字类型是256位整数
问题内容: 我在ES 1.3.4和JDBC For MySql 1.3.4.4的本地实例上拥有River 这条河工作得很好,并在ES中导入数据。我遇到的问题是我的一个字段是文本字段,并且其中包含空格。例如“实时计算器”。ES将其索引为“实时”,“时间”和“计算器”,而不是“实时计算器”。 所以我正在使用下面提到的JSON创建映射: 和命令: 但是我得到以下提到的错误: 当我尝试使用下面提到的命令查
问题内容: 我遵循此处给出的建议,以便使用elasticsearch查找部分单词: ElasticSearchn-gram令牌过滤器未找到部分单词 我创建了一个简单的bash脚本,尝试运行该脚本的一个版本: 运行此脚本后,前两个命令(倾销产品,然后设置索引)似乎可以正常工作: 然后它在映射调用之后给我以下错误: 有人可以看到我在做什么吗?搜索谷歌开始自动完成“映射未找到elasticsearch”
主要内容:映射类型,动态映射,映射参数映射是存储在索引中的文档的大纲。它定义数据类型,如或文档和规则中存在的字段的字符串和格式,以控制动态添加的字段的映射。 例如, 请求正文 响应 字段数据类型 Elasticsearch支持文档中字段的多种不同数据类型。以下数据类型用于在Elasticsearch中存储字段 - 核心数据类型 - 这些是几乎所有系统支持的基本数据类型,如整数,长整数,双精度,短整型,字节,双精度,浮点型,字符串,日期
TypeScript 会将一些好用的工具类型纳入基准库中,方便开发者直接使用,本节介绍的映射类型就是这样的工具类型。 对这种工具类型,我们不只要知道使用方法,还要了解其实现功能的本质。本节我们会从源码进行分析,逐步掌握。 1. 慕课解释 映射类型可以将已知类型的每个属性都变为可选的或者只读的。 2. Readonly 与 Partial 关键字 先来看这样一个任务:将 Person 接口的每个属性