Hi Salvatore,
You are right, if I try to connect to from gremlin using the local
connection(the same that I used for ingestion) it works. If I try to
switch the ingestion to use the remote engine, I get the following
exception : "Error on opening database: the engine 'remote' was not
found. URL was: remote:localhost/movies. Registered engines are:
[local, memory] ". That's why I used the local engine for ingestion.
Also, from the web interface of OrientDb, I believe the connection to
the DB is always made using the remote engine, because it is not able
to find my defined indexes.
I'll try to find some documentation on how to register the remote
engine for using it during ingestion.
Thanks a lot for investigating this issue,
Razvan
> I created the index by locally connecting to the OrientGraph:
> IndexableGraph graph = new OrientGraph("*
> local:D:\\orientdb-graphed-1.0rc9\\databases\\manual-idx-test*");
> Index<Vertex> bidx = graph.createManualIndex("simpleIdx", Vertex.class);
> bidx.put((String) firstIndexKey.getProperty("name"),
> firstIndexedItem.getId(), firstIndexKey);
> bidx.put((String) secondIndexKey.getProperty("name"),
> secondIndexKey.getId(), secondIndexKey);
> graph.shutdown();
>
> *Case 1A: the Gremlin console connects locally to the OrientGraph, db and
> index defined using a local connection (SUCCESS)*
> gremlin> g = new
> OrientGraph('local:D:\\orientdb-graphed-1.0rc9\\databases\\manual-idx-test' )
> ==>orientgraph[local:D:/orientdb-graphed-1.0rc9/databases/manual-idx-test]
> gremlin> g.idx('justAtest-idxb')
> ==>MANUAL[justAtest-idxb:OrientVertex]
>
> *Case 1B: the Gremlin console connects remotely to the OrientGraph**, db
> and index defined using a local connection** (FAILURE)*
> gremlin> g = new OrientGraph('remote:localhost/manual-idx-test')
> ==>orientgraph[remote:localhost/manual-idx-test]
> gremlin> g.idx('justAtest-idxb')
> ==>null
>
> So I was able to reproduce your test case, Razvan!
>
> Double check: creating the index by connecting remotely to the OrientGraph.
>
> IndexableGraph graph = new OrientGraph("*remote:localhost****/manual-**
> idx-test-remote*");
> Index<Vertex> bidx = graph.createManualIndex("simpleIdx", Vertex.class);
> bidx.put((String) firstIndexKey.getProperty("name"),
> firstIndexedItem.getId(), firstIndexKey);
> bidx.put((String) secondIndexKey.getProperty("name"),
> secondIndexKey.getId(), secondIndexKey);
> graph.shutdown();
>
> *Case 2A: the Gremlin console **locally **connects to the OrientGraph,** db*
> * **and **index defined using a remote connection (FAILURE)*
> gremlin> g = new OrientGraph('local:.\\databases\\manual-idx-test-remote')
> ==>orientgraph[local:./databases/manual-idx-test-remote]
> gremlin> g.idx('justAtest-idxb')
> ==>null
>
> *Case 2B: the Gremlin console **remotely **connects to the OrientGraph, **db
> ** **and **index defined using a remote connection (SUCCESS)*
> gremlin> g = new OrientGraph('remote:localhost/manual-idx-test-remote')
> ==>orientgraph[remote:localhost/manual-idx-test-remote]
> gremlin> g.idx('justAtest-idxb')
> ==>MANUAL[justAtest-idxb:OrientVertex]
>
> It seems that, using Blueprints API, indices can be accessed only through
> the same connection mode that was used for the index definition... Do you
> agree Razvan? Do you define and try to access the index using the same
> connection mode?
>
> Regards,
>
> Salvatore
>
> 2012/5/4 Razvan Tanase <
razvan.geo...@gmail.com>