The Graph (https://www.elastic.co/products/x-pack/graph) looks like a great tool. Is there a way to specify the edges instead of having Elastic figure it out? It looks like Elastic figures out the edges based on concurrences in document (and probably other machine learning that I don't know). However, is it possible to have some sort of schema that this Kibana X-Pack Graph will pickup when rendering the nodes and edges? Thank you.
If you want to take control over relationships it's a matter of creating documents that look more like classic "edge" records with just a single pair of terms to represent nodes e.g. the fact we are connected by this forum post might look like this:
{
"node_ids":["@Mark_Harwood", "@jdpark"]
}
You could throw any number of connections together this way e.g.
Obviously being regular elasticsearch docs you could add other fields here e.g. dates to query and filter the relationships you choose to render as a graph.
For future readers doing something similar, I changed the "certainty" setting to 1 while doing proof of concept. (I was wondering why nodes weren't coming up.) I also found Kibana's "last query" feature very handy to see what Graph API is doing. In general I found the following blogs helpful (one of them is written by Mark).
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.