- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的计算机上安装了 aerospike 服务器 v 3.8.3,并尝试在 aql 中使用以下命令创建索引:
aql> CREATE INDEX indexA ON namespace.setA(binA) STRING
这是aql> showindexes
命令的结果
+----------------+--------+------------+---------+-------+------------+-------+------------+------------+
| ns | bin | indextype | set | state | indexname | path | sync_state | type |
+----------------+--------+------------+---------+-------+------------+-------+------------+------------+
| "namespace" | "binA" | "NONE" | "setA" | "RW" | "indexA" | "BinB | "synced" | "STRING" |
+----------------+--------+------------+---------+-------+------------+-------+------------+------------+
spring-data-aerospike
期望使用以下 bin 构建索引
+----------------+-----------------+--------+----------+-------+-----------+------------+--------------+
| ns | bins | set | num_bins | state | indexname | sync_state | type |
+----------------+-----------------+--------+----------+-------+-----------+------------+--------------+
| "user_profile" | "last_activity" | "west" | 1 | "WO" | "ix1" | "synced" | "INT SIGNED" |
+----------------+-----------------+--------+----------+-------+-----------+------------+--------------
索引创建中存在不兼容性,我应该修复 spring-data-aerospike
还是修复索引以匹配 spring-data-aerospike
中的预期输出
com/aerospike/helper/model/Index.java
第79行
/*
* Copyright 2012-2015 Aerospike, Inc.
*
* Portions may be licensed to Aerospike, Inc. under one or more contributor
* license agreements.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.aerospike.helper.model;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.aerospike.client.query.IndexType;
/**
* This class represents a Secondary Index
* created in the cluster.
*
* @author peter
*
*/
public class Index {
protected Map<String, String> values;
public Index(String info) {
setIndexInfo(info);
}
public String getName() {
return values.get("indexname");
}
public List<NameValuePair> getValues(){
List<NameValuePair> result = new ArrayList<NameValuePair>();
Set<String> keys = this.values.keySet();
for (String key : keys){
NameValuePair nvp = new NameValuePair(this, key, this.values.get(key));
result.add(nvp);
}
return result;
}
public void setIndexInfo(String info){
//ns=phobos_sindex:set=longevity:indexname=str_100_idx:num_bins=1:bins=str_100_bin:type=TEXT:sync_state=synced:state=RW;
if (!info.isEmpty()){
String[] parts = info.split(":");
if (values == null){
values = new HashMap<String, String>();
}
for (String part : parts){
kvPut(part, this.values);
}
}
}
private void kvPut(String kv, Map<String, String> map){
String[] kvParts = kv.split("=");
map.put(kvParts[0], kvParts[1]);
};
@Override
public String toString() {
return this.getName();
}
public String getBin() {
return values.get("bins");
}
public IndexType getType(){
String indexTypeString = values.get("type");
if (indexTypeString.equalsIgnoreCase("TEXT"))
return IndexType.STRING;
else
return IndexType.NUMERIC;
}
}
最佳答案
修复 spring-data-aerospike,因为 aerospike-server 自 48f1ae5 以来改变了其行为.
响应服务器上“显示索引”的代码(在 as/src/base/secondary_index.c 中)是:
/*
* Client API to list all the indexes in a namespace, returns list of imd with
* index information, Caller should free it up
*/
int
as_sindex_list_str(as_namespace *ns, cf_dyn_buf *db)
{
......
您可以在 link 中查看更改。 .
关于java - Spring-data-aerospike 与 aql 创建的索引不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37754308/
我使用的是 Artifactory 3.5。我的 Artifactory 具有自定义属性。我希望能够查询具有该属性的所有 Artifactory ,并且我希望结果显示该属性及其值。我知道我可以使用:
我想在 AQL 中返回产品选项的唯一列表,我知道 COLLECT 可以返回唯一列表,但是,我现在如何将其展平为数组。 所以我想返回以下过滤列表:(我们称之为列表[A]) [ [ "Size
给定以下文档结构: { "_key": "abc", "_id": "abc", "label": "Company ABC", "departments": [ {
我的文档是这样组织的: { "email": "tyler_li@126.com", "name": "tyler", "address": { "street": "Beijin
我遇到了一个问题,即在使用 AQL 时,我无法获得我在构建域对象上进行的任何查询以返回 当我做以下 curl 时: curl -X GET -H "X-JFrog-Art-Api: myArtifac
如何使用 Artifactory AQL 删除空文件夹(没有任何内容的文件夹)? 我有当前的 AQL 查询来查找早于 12w 且从未下载过的文件,我将通过脚本删除这些文件。 items.find(
我有一个文档集合“节点”和一个边缘集合“属性”。 我试图从“节点/582148”到“节点/582016”获取“属性”集合中的所有边。 我能够设计的最简单的 AQL 查询如下: FOR v, e, p
像 sum() 这样的聚合函数的语法到底是什么? 例如,采用以下结构: let json = { "ages": { "age": [ "20", "30",
我正在尝试弄清楚如何使用 arangodb 中的图形遍历查询来更新边缘文档。我可以使用标准来做到这一点FOR e IN collectionName UPDATE e with {newProps}
我有一个 AQL 查询遍历图,它总是应该从一组唯一的集合中返回固定数量的文档。因此每个集合只会发生一次并且只有一个文档。 我希望将它们全部合并到反射(reflect)文档集合名称的属性下的单个文档中。
我目前正尝试在 Artifactory 中查询与核心项目相关的特定 Artifactory 。所有 Artifactory 都将以项目标签为前缀。示例:“proj1-core”。我使用 Artifac
是否可以在用户定义的函数中使用标准 AQL 函数? 我试图在自定义函数中调用 IS_IN_POLYGON() 并在执行时遇到此错误: Query: AQL: in function 'GEO::IS_
我需要计算 SQL 查询结果中的元素:db._query('FOR v in visitors FILTER v.ip == "127.0.0.1" return COUNT(v.guid) ') 此
当我使用 AQL 将文档插入到集合中时,它返回一个空列表。 arangosh [test]> db._query('INSERT @document INTO vertices', {document
我想找到一组没有个人资料的用户。 ArangoDB 2.4.3 LENGTH(users) -> 130k LENGTH(profiles) -> 110k users.userId -> uniqu
我有以下 super 简单的图表: 我想做的是: 选择问题文档中名为firstQuestion 且值为true 的属性的所有问题。 选择通过 with_options 类型的出站边缘连接到问题的任何选
给出以下集合示例文档: { "timestamp": 1413543986, "message": "message", "readed": { "8": null, "9
来自 neo4j,是 Arango 的新手。 我正在尝试查询我的数据并构建相应的数据结构。 所以我有这样的东西: Circle A / \ Square A Cir
当我使用 AQL 将文档插入到集合中时,它返回一个空列表。 arangosh [test]> db._query('INSERT @document INTO vertices', {document
我有一个文档列表,想将它们合并成一个文档。Arango 的文档说您可以像这样合并两个文档: arangosh [EC]> db._query('RETURN MERGE({foo: "bar"}, {
我是一名优秀的程序员,十分优秀!