Skip to content
Permalink
Browse files
update doc for v0.10 (#39)
1. source_in_ring args for Rings API
2. shard index and unique index in client doc

Change-Id: Ib4b2bceee09465b520f8ba04fdb20f046a0bc6ee
  • Loading branch information
zhoney authored and Linary committed Oct 9, 2019
1 parent 3c6ff8e commit 640c7af5d5fe95989a75308fb6832d9e5555a8aa
Showing 5 changed files with 46 additions and 7 deletions.
@@ -348,20 +348,49 @@ interface | param | description
-------------------- | ----- | ---------------------------------------------------------
by(String... fields) | files | allow to build index for multi fields for secondary index

- indexType: 建立的索引类型,目前支持三种,即 Secondary、Range 和 Search。Secondary 允许建立联合索引,支持索引前缀搜索,Range 支持数值类型的范围查询,Search 支持全文检索;
- indexType: 建立的索引类型,目前支持五种,即 Secondary、Range、Search、Shard 和 Unique。
- Secondary 支持精确匹配的二级索引,允许建立联合索引,联合索引支持索引前缀搜索
- 单个属性,支持相等查询,比如:person顶点的city属性的二级索引,可以用`g.V().has("city", "北京")
`查询"city属性值是北京"的全部顶点
- 联合索引,支持前缀查询和相等查询,比如:person顶点的city和street属性的联合索引,可以用`g.V().has
("city", "北京").has('street', '中关村街道')
`查询"city属性值是北京且street属性值是中关村"的全部顶点,或者`g.V()
.has("city", "北京")`查询"city属性值是北京"的全部顶点
> secondary index的查询都是基于"是"或者"相等"的查询条件,不支持"部分匹配"
- Range 支持数值类型的范围查询
- 必须是单个数字或者日期属性,比如:person顶点的age属性的范围索引,可以用`g.V().has("age", P.gt(18))
`查询"age属性值大于18"的顶点。除了`P.gt()`以外,还支持`P.gte()`, `P.lte()`, `P.lt()`,
`P.eq()`, `P.between()`, `P.inside()`和`P.outside()`等
- Search 支持全文检索的索引
- 必须是单个文本属性,比如:person顶点的address属性的全文索引,可以用`g.V().has("address", Text
.contains('大厦')`查询"address属性中包含大厦"的全部顶点
> search index的查询是基于"是"或者"包含"的查询条件
- Shard 支持前缀匹配 + 数字范围查询的索引
- N个属性的分片索引,支持前缀相等情况下的范围查询,比如:person顶点的city和age属性的分片索引,可以用`g.V().has
("city", "北京").has("age", P.between(18, 30))
`查询"city属性是北京且年龄大于等于18小于30"的全部顶点
- shard index N个属性全是文本属性时,等价于secondary index
- shard index只有单个数字或者日期属性时,等价于range index
> shard index可以有任意数字或者日期属性,但是查询时最多只能提供一个范围查找条件,且该范围查找条件的属性的前缀属性都是相等查询条件
- Unique 支持属性值唯一性约束,即可以限定属性的值不重复,允许联合索引,但不支持查询
- 单个或者多个属性的唯一性索引,不可用来查询,只可对属性的值进行限定,当出现重复值时将报错
interface | indexType | description
----------- | --------- | ---------------------------------------
secondary() | Secondary | support prefix search
range() | Range | support range search for numeric types and date type
range() | Range | support range(numeric or date type) search
search() | Search | support full text search
shard() | Shard | support prefix + range(numeric or date type) search
unique() | Unique | support unique props value, not support search

##### 2.5.2 创建 IndexLabel

```java
schema.indexLabel("personByAge").onV("person").by("age").range().ifNotExist().create();
schema.indexLabel("createdByDate").onE("created").by("date").secondary().ifNotExist().create();
schema.indexLabel("personByLived").onE("person").by("lived").search().ifNotExist().create();
schema.indexLabel("personByCityAndAge").onV("person").by("city", "age").shard().ifNotExist().create();
schema.indexLabel("personById").onV("person").by("id").unique().ifNotExist().create();
```

##### 2.5.3 删除 IndexLabel
@@ -211,10 +211,17 @@ PUT http://localhost:8080/graphs/hugegraph/graph/edges/S1:peter>1>>S2:lop?action
- direction: 边的方向(OUT | IN | BOTH)
- label: 边的标签
- properties: 属性键值对(根据属性查询的前提是建立了索引)
- limit: 查询数目
- offset:偏移,默认为0
- limit: 查询数目,默认为100
- page: 页号

vertex_id为可选参数,如果提供参数vertex_id则必须同时提供参数direction。无vertex_id参数时表示获取所有边,可通过limit限制查询数目。与顶点查询类似,如果提供page参数,必须提供limit参数,不允许带其他参数。
支持的查询有以下几种:

- 提供vertex_id参数时,不可以使用参数page,direction、label、properties可选,offset和limit可以
限制结果范围
- 不提供vertex_id参数时,label和properties可选
- 如果使用page参数,则:offset参数不可用(不填或者为0),direction不可用,properties最多只能有一个
- 如果不使用page参数,则:offset和limit可以用来限制结果范围,direction参数忽略

**查询与顶点 person:josh(vertex_id="1:josh") 相连且 label 为 created 的边**

@@ -57,7 +57,7 @@ PUT http://localhost:8080/graphs/hugegraph/jobs/rebuild/vertexlabels/person
##### Method & Url

```
PUT http://localhost:8080/graphs/hugegraph/jobs/rebuild/edgelabels/softwareByPrice
PUT http://localhost:8080/graphs/hugegraph/jobs/rebuild/edgelabels/created
```

##### Response Status
@@ -443,6 +443,7 @@ GET http://localhost:8080/graphs/{graph}/traversers/crosspoints?source="2:lop"&t
- direction: 起始顶点发出的边的方向(OUT,IN,BOTH),选填项,默认是BOTH
- label: 边的类型,选填项,默认代表所有edge label
- max_depth: 步数,必填项
- source_in_ring: 环路是否包含起点,选填项,默认为true
- max_degree: 查询过程中,单个顶点最大边数目,选填项,默认为10000
- capacity: 遍历过程中最大的访问的顶点数目,选填项,默认为10000000
- limit: 返回的可达环路的最大数目,选填项,默认为10
@@ -45,7 +45,7 @@ mvn package -DskipTests
解压后,进入 hugegraph-tools 目录,可以使用`bin/hugegraph`或者`bin/hugegraph help`来查看 usage 信息。主要分为:

- 图管理类,graph-mode-set、graph-mode-get、graph-list、graph-get 和 graph-clear
- 异步任务管理类,task-delete、task-get 和 task-delete
- 异步任务管理类,task-list、task-get、task-delete、task-cancel 和 task-clear
- Gremlin类,gremlin-execute 和 gremlin-schedule
- 备份/恢复类,backup、restore、schedule-backup 和 dump
- 安装部署类,deploy、clear、start-all 和 stop-all
@@ -60,9 +60,9 @@ Usage: hugegraph [options] [command] [command options]

- --graph,HugeGraph-Tools 操作的图的名字,默认值是 hugegraph
- --url,HugeGraph-Server 的服务地址,默认是 http://127.0.0.1:8080
- --timeout, 连接 HugeGraph-Server 时的超时时间,默认是 30s
- --user,当 HugeGraph-Server 开启认证时,传递用户名
- --password,当 HugeGraph-Server 开启认证时,传递用户的密码
- --timeout, 连接 HugeGraph-Server 时的超时时间,默认是 30s

上述全局变量,也可以通过环境变量来设置。一种方式是在命令行使用 export 设置临时环境变量,在该命令行关闭之前均有效

@@ -73,6 +73,7 @@ Usage: hugegraph [options] [command] [command options]
--graph | HUGEGRAPH_GRAPH | export HUGEGRAPH_GRAPH=hugegraph
--user | HUGEGRAPH_USERNAME | export HUGEGRAPH_USERNAME=admin
--password | HUGEGRAPH_PASSWORD | export HUGEGRAPH_PASSWORD=test
--timeout | HUGEGRAPH_TIMEOUT | export HUGEGRAPH_TIMEOUT=30

另一种方式是在 bin/hugegraph 脚本中设置环境变量:

@@ -84,6 +85,7 @@ Usage: hugegraph [options] [command] [command options]
#export HUGEGRAPH_GRAPH=
#export HUGEGRAPH_USERNAME=
#export HUGEGRAPH_PASSWORD=
#export HUGEGRAPH_TIMEOUT=
```

##### 3.3 图管理类,graph-mode-set、graph-mode-get、graph-list、graph-get和graph-clear

0 comments on commit 640c7af

Please sign in to comment.