Unable to write parent and child documents from same map-reduce job

2014-09-03 Thread Jeff Kunkle
Using elasticsearch-hadoop, I'd like to write a map reduce job where the 
EsOutputFormat writes both child and parent documents. However, it appears 
that it can only write parent or child documents within a single job. To 
write child documents, one needs to set the "es.mapping.parent" property in 
the JobConf, which I believe then messes up writing of the parent 
documents, which obviously don't have a parent. Is there a way to work 
around this?

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/f1404720-8704-4a4d-88ce-654920fdf7e0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Advice for implementing a secure graph index with ElasticSearch

2014-05-16 Thread Jeff Kunkle
Hi Mohit,

Can you please ask your Lumify questions over on the Lumify google group at 
https://groups.google.com/d/forum/lumify? I'd rather not pollute the 
ElasticSearch group with unrelated messages.

Thanks,
Jeff

On Friday, May 16, 2014 1:26:28 AM UTC-4, mohit kaushik wrote:
>
> Hi! jeff
> You said, you are using lumify. And lumify user secure-graph which 
> implicitly implements cell level security that you all need. You can easily 
> have access controls on your user and query returns the vertices in the way 
> you want. I recently started working with secure-graph and want to 
> implement the class 
> "/securegraph-core/src/main/java/org/securegraph/query/GraphQuery.java" 
> wchich is provided in the package and as it has been much days to your post 
> so hope you might have figured out it. If you have please notify me.
>
>
> Thanks 
> Mohit kaushik
>
> On Wednesday, March 5, 2014 10:40:11 PM UTC+5:30, Jeff Kunkle wrote:
>>
>> I've been trying to figure out how I can index a graph data structure 
>> using ElasticSearch and could really use some advice from someone more 
>> knowledgeable than me. First, let me explain the challenge. The graph model 
>> has individual access controls at the vertex (node), edge (relationship), 
>> and property level. I'd like my users to be able to search the graph for 
>> vertices or edges containing matching properties, with two caveats:
>>
>>1. They should not get vertex or edge results they don't have 
>>permission to see.
>>2. Properties a user does not have access to see should not be 
>>evaluated in the query.
>>
>> My first thought was to index properties as either nested or child 
>> documents of a vertex/edge and use a custom filter to remove properties a 
>> user didn't have access to. The first problem I run into is when I try a 
>> boolean query across properties. For example, assume I want to query a 
>> person vertex by first name and date of birth. Since these properties are 
>> indexed as separate documents there is never a match. 
>>
>> What I essentially need is the ability to query across nested or child 
>> documents and return the parent only when there are matches across the 
>> child documents. For example, assume a parent vertex with one property 
>> document called "full_name" set to Barak Obama and another property 
>> document named "political_party" set to Democrat. Is there any way for me 
>> to query for the parent document of these two properties by asking for one 
>> property with full_name="Barak Obama" and another property with 
>> political_party="Democrat"?
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/3527e622-cba3-4e5e-8ed3-49df8acf53b8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Advice for implementing a secure graph index with ElasticSearch

2014-03-05 Thread Jeff Kunkle
Hi Mike,

Thanks for the reply. We actually started with Titan and its a very good 
project, but we couldn't easily add the needed security constraints on top 
of it. Hence why I'm exploring this topic. It would be rather 
straightforward to implement the index on ElasticSearch if all the data was 
open to everyone. I'd be able to consolidate all of a vertex's or edge's 
properties in a single document. Unfortunately, that's not the case. The 
project I'm working on is at http://lumify.io if that's helpful in any way.

Thanks Again,
Jeff

On Wednesday, March 5, 2014 12:41:59 PM UTC-5, Michael Sick wrote:
>
> https://github.com/thinkaurelius/titan/wiki
>
> "Titan is a distributed graph 
> database<http://en.wikipedia.org/wiki/Graph_database> optimized 
> for storing and querying 
> graphs<http://en.wikipedia.org/wiki/Graph_(mathematics)> represented 
> over a cluster of machines. The cluster can elastically scale to support a 
> growing dataset and user base. Titan has a pluggable storage architecture 
> which allows it to build on proven database technology such as Apache 
> Cassandra <http://cassandra.apache.org/>, Apache 
> HBase<http://hbase.apache.org/>, 
> or Oracle BerkeleyDB<http://www.oracle.com/technetwork/database/berkeleydb/>. 
> Furthermore, the pluggable indexing architecture supports 
> ElasticSearch<http://elasticsearch.com/>
>  and Lucene <http://lucene.apache.org/>."
>
> I did some basic research for ES + graph and found the Titan project 
> interesting. Titan separates storage from indexing and only currently 
> supports ES for the latter. I'm sure that you could implement a storage 
> engine based on ES too (which makes more sense now that ES 1.x supports 
> backup/restore). Didn't look into security at all but this might be a good 
> starting point. Hope it's helpful. --Mike
>
>
> On Wed, Mar 5, 2014 at 12:10 PM, Jeff Kunkle 
> > wrote:
>
>> I've been trying to figure out how I can index a graph data structure 
>> using ElasticSearch and could really use some advice from someone more 
>> knowledgeable than me. First, let me explain the challenge. The graph model 
>> has individual access controls at the vertex (node), edge (relationship), 
>> and property level. I'd like my users to be able to search the graph for 
>> vertices or edges containing matching properties, with two caveats:
>>
>>1. They should not get vertex or edge results they don't have 
>>permission to see.
>>2. Properties a user does not have access to see should not be 
>>evaluated in the query. 
>>
>> My first thought was to index properties as either nested or child 
>> documents of a vertex/edge and use a custom filter to remove properties a 
>> user didn't have access to. The first problem I run into is when I try a 
>> boolean query across properties. For example, assume I want to query a 
>> person vertex by first name and date of birth. Since these properties are 
>> indexed as separate documents there is never a match. 
>>
>> What I essentially need is the ability to query across nested or child 
>> documents and return the parent only when there are matches across the 
>> child documents. For example, assume a parent vertex with one property 
>> document called "full_name" set to Barak Obama and another property 
>> document named "political_party" set to Democrat. Is there any way for me 
>> to query for the parent document of these two properties by asking for one 
>> property with full_name="Barak Obama" and another property with 
>> political_party="Democrat"?
>>  
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "elasticsearch" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to elasticsearc...@googlegroups.com .
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/elasticsearch/a8beee5b-82d0-45fa-8666-31e956c03439%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/a8beee5b-82d0-45fa-8666-31e956c03439%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/1e8acfc2-81db-461f-817e-de1ca0b37c3e%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Advice for implementing a secure graph index with ElasticSearch

2014-03-05 Thread Jeff Kunkle
I've been trying to figure out how I can index a graph data structure using 
ElasticSearch and could really use some advice from someone more 
knowledgeable than me. First, let me explain the challenge. The graph model 
has individual access controls at the vertex (node), edge (relationship), 
and property level. I'd like my users to be able to search the graph for 
vertices or edges containing matching properties, with two caveats:

   1. They should not get vertex or edge results they don't have permission 
   to see.
   2. Properties a user does not have access to see should not be evaluated 
   in the query.

My first thought was to index properties as either nested or child 
documents of a vertex/edge and use a custom filter to remove properties a 
user didn't have access to. The first problem I run into is when I try a 
boolean query across properties. For example, assume I want to query a 
person vertex by first name and date of birth. Since these properties are 
indexed as separate documents there is never a match. 

What I essentially need is the ability to query across nested or child 
documents and return the parent only when there are matches across the 
child documents. For example, assume a parent vertex with one property 
document called "full_name" set to Barak Obama and another property 
document named "political_party" set to Democrat. Is there any way for me 
to query for the parent document of these two properties by asking for one 
property with full_name="Barak Obama" and another property with 
political_party="Democrat"?

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/a8beee5b-82d0-45fa-8666-31e956c03439%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.