我试图通过“created”字段(整数/时间戳)增强搜索,但总是遇到
"{"error":{"root_cause":[{"type":"parsing_exception","reason":"Unknown key for a START_OBJECT in [script].","line":1,"col":181}],"type":"parsing_exception","reason":"Unknown key for a START_OBJECT in [script].","line":1,"col":181},"status":400}"
如果没有“脚本”,查询工作正常。但是我没有什么想法如何正确地写这个脚本。有什么想法吗?
return [
'index' => 'articles_' . $this->system,
'body' => [
'size' => $this->size,
'from' => $this->start,
'sort' => [
$this->order => 'desc',
],
'query' => [
'query_string' => [
'query' => $this->term,
'fields' => ['title^5', 'caption^3', 'teaser^2', 'content'],
'analyze_wildcard' => true,
],
'script' => [
'script' => [
'lang' => 'painless',
'source' => "doc['@created'].value / 100000",
],
],
],
],
];
编辑:更新了查询,但仍然遇到“{”错误“:{”root_case“:[{”type“:”parsing_exception“,”reason“:”[query_string]格式错误的查询,预期[END_OBJECT]但找到[FIELD_NAME]“,”line“:1,”col“:171},”status“:400}
脚本不是一个独立的属性。它应该是布尔的一部分。当您有多个筛选器时,这些筛选器应该位于bool下的must/shoul/filter中
'body' => [
'size' => $this->size,
'from' => $this->start,
'sort' => [
$this->order => 'desc'
],
'query' => [
'bool' => [
'must' =>[
'query_string' => [
'query' => $this->term,
'fields' => ['title^5', 'caption^3', 'teaser^2', 'content'],
'analyze_wildcard' => true
],
'script' => [
'script' => [
'lang' => 'painless',
'source' => "doc['@created'].value / 100000"
]
]
]
]
]
]
上面会有括号的语法问题(我测试不出来),查询结构是正确的
我需要帮助。我想做一个按钮,对一个数字进行四舍五入,十进制乘以十进制,比如 1.2345 到 1.234 到 1.23 等。我不想使用 Math.round,因为它四舍五入到一个整数,而且我不知道我是否可以使用 *10/10、*100/100 等,因为我的答案中得到了不同的小数点。在我点击 并完成答案后,此按钮必须在计算器上工作。 我还需要帮助来使用到“List”组件中的标签。
问题内容: 我是Java的新手,我刚刚读了一个整数类的变量,可以用API的三种不同方式来描述。我有以下代码: 这是在循环内,只是输出。 我的目标是弄清楚如何查看整数值。 我知道这是正确的方法吗?还是它? 我知道这是不正确的。这是正确的吗?是否存在值比较运算符? 问题答案: 整数是自动拆箱的,因此您可以执行
我使用Spark sql dataframes执行groupby操作,然后计算每组数据的平均值和中值。原始数据量约为1 TB。 当我运行该查询时,我的工作被卡住,无法完成。如何调试该问题?是否存在导致groupby()卡滞的按键不平衡?
问题内容: 假设我想基于整数id值进行锁定。在这种情况下,有一个函数可从缓存中提取一个值,如果该值不存在,则会进行相当昂贵的检索/存储到缓存中。 现有代码不同步,并且可能触发多个检索/存储操作: 我想做的是同步ID上的检索,例如 不幸的是,这是行不通的,因为两个单独的调用可以具有相同的Integer id值,但是可以具有不同的Integer对象,因此它们将不会共享锁,并且不会发生同步。 有没有一种
问题内容: 在C中,整数(对于32位计算机)为32位,范围为-32,768至+32,767。在Java中,整数(long)也是32位,但范围为-2,147,483,648至+2,147,483,647。 我不了解Java中的范围有何不同,即使位数相同。有人可以解释吗? 问题答案: 在C语言中,语言本身无法确定某些数据类型的表示形式。它因机器而异,在嵌入式系统上int可以为16位宽,尽管通常为32位