2.0beta版本,lookup on tag语句

2.0beta版本,创建tag,插入节点,创建索引之后,请帮忙看看用lookup on tag语句出现以下报错的情况
image

预先插入的数据不会有索引,需要rebuild index

如果先插入点和边,再在tag或者edge type上创建索引,也是需要rebuild索引的
我来在文档里加条提示,感谢提供优化线索

2 个赞

谢谢。lookup on 语句没有支持字符串模糊匹配或者前缀匹配吗? 还是说有特定的语法?

image
image

已经支持啦,需要用到全文索引,文档还在开发中~让我找找文档小姐姐看啥时候能发些出来

已支持,目前支持prefix,wildcard,regexp,fuzzy。文档pr:https://github.com/vesoft-inc/nebula-docs/pull/233

1 个赞

我问两个问题哈:

  1. 创建全文索引和创建普通的单个索引或者联合索引,是否有冲突呢?能不能同时存在
  2. 我这边按照文档创建不了全文索引,是我输入得有什么问题吗?我没有发现诶
    image

全文索引需要配置es和listener,请参考我发给你的文档链接

不好意思,我看完了文档 也没明白这么配置,是将关于ES和LISTENER的配置在哪一块呢,能否稍微说清楚点,谢谢了。

首先,你要先下载个es,单个结点就行,然后执行

curl -H "Content-Type: application/json; charset=utf-8" -XPUT http://127.0.0.1:9200/_template/nebula_index_template -d '
{
 "template": "nebula*",
  "settings": {
    "index": {
      "number_of_shards": 3,
      "number_of_replicas": 1
    }
  },
  "mappings": {
    "properties" : {
            "tag_id" : { "type" : "long" },
            "column_id" : { "type" : "text" },
            "value" :{ "type" : "keyword"}
        }
  }
}'

为es添加模板。

再执行以下命令把ec起起来

./bin/elasticsearch -d

之后再复制一个storage的配置文件,改名叫nebula-storaged-listener.conf,更改里面的如下参数:

#copy a conf listener file and configure

# The file to host the process id
--pid_file=pids_listener/nebula-storaged.pid
# The directory to host logging files, which must already exists
--log_dir=logs_listener

########## networking ##########
# Meta server address
--meta_server_addrs=127.0.0.1:68833
# Local ip
--local_ip=127.0.0.1
# Storage daemon listening port
--port=66780
# HTTP service ip
--ws_ip=127.0.0.1
# HTTP service port
--ws_http_port=65219
# HTTP2 service port
--ws_h2_port=65211

然后按照文档里面的命令sign in es,添加listener就好

有问题欢迎继续留言。

elasticsearch太重了我感觉,而且很费资源。能不能支持 sonic ? 这个rust写的es替代品,只需要几MB的内存,性能安全速度贼好。

接口是开放滴,欢迎贡献呀~ :laughing: :laughing:

1 个赞

nebula-storaged-listener.conf里的meta_server_addrs是否应该和集群配置保持一致?
然后port ws_http_port ws_h2_port可以自定义?

  1. 需要保持一致
  2. 可以自定义

麻烦帮忙看下为啥listener的进程起不来吗?
配置:


启动无输出:

@bright-starry-sky 帮忙看看呢

看起来没什么问题,有listener的log吗?
下边是我开发机上的配置,可以启动成功,请着重检查下边这几项:

########## networking ##########
# Meta server address
--meta_server_addrs=127.0.0.1:78833  ----> 和storaged, graphd的配置保持一致
# Local ip
--local_ip=127.0.0.1  ----> 这项没什么,当前系统IP就行,127.0.0.1 也没问题
# Storage daemon listening port
--port=46780  -----> 不要和其他进程(graph,storage,meta)冲突, 并且最好小于65535
# HTTP service ip
--ws_ip=127.0.0.1
# HTTP service port
--ws_http_port=45219 ----> 填一个系统空闲的端口号就行
# HTTP2 service port
--ws_h2_port=45211 -----> 填一个系统空闲的端口号就行

########## storage ##########
# Root data path, multiple paths should be splitted by comma.
# One path per instance, if --engine_type is `rocksdb'
--data_path=data/storage_listener -----> 没记错的话,问题就出在这里,这个参数有检查机制,需要填一个值。
--listener_path=data/listener -----> 不要忘记指定这个参数,wal的接收目录。

确实加上–data_path就可以能起来了,谢谢,也建议修改下2.0英文文档和sample file:
https://github.com/vesoft-inc/nebula-storage/blob/master/conf/nebula-storaged-listener.conf.production。

另外有个问题,全文索引部署后只有新建space才生效吗? 原有space add listerner后显示online,但不论是已有tag,还是新建tag,都报fulltext index not found:

@RandomJoe

浙ICP备20010487号