adaml288
adaml288

Reputation: 61

Creating Titan indexed types for elasticsearch

I am having problems getting the elastic search indexes to work correctly with Titan Server. I currently have a local Titan/Cassandra setup using Titan Server 0.4.0 with elastic search enabled. I have a test graph 'bg' with the following properties:

I am running titan.sh with the rexster-cassandra-es.xml config, and my configuration looks like this:

storage.backend = "cassandra"
storage.hostname = "127.0.0.1"

storage.index.search.backend = "elasticsearch"
storage.index.search.directory = "db/es"
storage.index.search.client-only= "false"
storage.index.search.local-mode = "true"

This configuration is the same in the bg config in Rexter and the groovy script that loads the data.

When I load up Rexster client and type in g = rexster.getGraph("bg"), I can perform an exact search using g.V.has("type","ip_address") and get the correct vertices back. However when I run the query:

g.V.has("type",CONTAINS,"ip_")

I get the error:

Data type of key is not compatible with condition

I think this is something to do with the type "value" not being indexed. What I would like to do is make all vertex and edge attributes indexable so that I can use any of the string matching functions on them as necessary. I have already tried making an indexed key using the command

g.makeKey("type").dataType(String.class).indexed(Vertex.class).indexed("search",Vertex.class).make()

but to be honest I have no idea how this works. Can anyone help point me in the right direction with this? I am completely unfamiliar with elastic search and Titan type definitions.

Thanks,

Adam

Upvotes: 2

Views: 809

Answers (1)

Daniel Kuppitz
Daniel Kuppitz

Reputation: 10904

the Wiki page Indexing Backend Overview should answer every little detail of your questions.

Cheers, Daniel

Upvotes: -1

Related Questions