Re: How do I represent a group of customer key/value pairs

2012-08-25 Thread Sheldon P
Thanks Lance.  It looks like it's worth investigating.  I've already
started down the path of using a bean with @Field(map_*) on my
HashMap setter.  This defect tipped me off on this functionality:
https://issues.apache.org/jira/browse/SOLR-1357
This technique provides me with a mechanism to store the HashMap data,
but flattens the structure.  I'll play with the ideas provided on
http://wiki.apache.org/solr/HierarchicalFaceting;.  If anyone has
some sample code (java + schema.xml) they can point me too that does
Hierarchical Faceting I would very much appreciate it.


On Sat, Aug 25, 2012 at 6:42 PM, Lance Norskog goks...@gmail.com wrote:
 There are more advanced ways to embed hierarchy in records. This describes 
 them:

 http://wiki.apache.org/solr/HierarchicalFaceting

 (This is a great page, never noticed it.)

 On Fri, Aug 24, 2012 at 8:12 PM, Sheldon P sporc...@gmail.com wrote:
 Thanks for the prompt reply Jack.  Could you point me towards any code
 examples of that technique?


 On Fri, Aug 24, 2012 at 4:31 PM, Jack Krupansky j...@basetechnology.com 
 wrote:
 The general rule in Solr is simple: denormalize your data.

 If you have some maps (or tables) and a set of keys (columns) for each map
 (table), define fields with names like map-name_key-name, such as
 map1_name, map2_name, map1_field1, map2_field1. Solr has dynamic
 fields, so you can define map-name_* to have a desired type - if all the
 keys have the same type.

 -- Jack Krupansky

 -Original Message- From: Sheldon P
 Sent: Friday, August 24, 2012 3:33 PM
 To: solr-user@lucene.apache.org
 Subject: How do I represent a group of customer key/value pairs


 I've just started to learn Solr and I have a question about modeling data
 in the schema.xml.

 I'm using SolrJ to interact with my Solr server.  It's easy for me to store
 key/value paris where the key is known.  For example, if I have:

 title=Some book title
 author=The authors name


 I can represent that data in the schema.xml file like this:

field name=title type=text_general indexed=true
 stored=true/
field name=author type=text_general indexed=true
 stored=true/

 I also have data that is stored as a Java HashMap, where the keys are
 unknown:

 MapString, String map = new HashMapString, String();
 map.put(some unknown key, some unknown data);
 map.put(another unknown key, more unknown data);


 I would prefer to store that data in Solr without losing its hierarchy.
 For example:

 field name=map type=maptype indexed=true stored=true/

 field name=some unknown key type=text_general indexed=true
 stored=true/

 field name=another unknown key type=text_general indexed=true
 stored=true/

 /field


 Then I could search for some unknown key, and receive some unknown data.

 Is this possible in Solr?  What is the best way to store this kind of data?



 --
 Lance Norskog
 goks...@gmail.com


How do I represent a group of customer key/value pairs

2012-08-24 Thread Sheldon P
I've just started to learn Solr and I have a question about modeling data
in the schema.xml.

I'm using SolrJ to interact with my Solr server.  It's easy for me to store
key/value paris where the key is known.  For example, if I have:

title=Some book title
author=The authors name


I can represent that data in the schema.xml file like this:

field name=title type=text_general indexed=true
stored=true/
field name=author type=text_general indexed=true
stored=true/

I also have data that is stored as a Java HashMap, where the keys are
unknown:

MapString, String map = new HashMapString, String();
map.put(some unknown key, some unknown data);
map.put(another unknown key, more unknown data);


I would prefer to store that data in Solr without losing its hierarchy.
 For example:

field name=map type=maptype indexed=true stored=true/

field name=some unknown key type=text_general indexed=true
stored=true/

field name=another unknown key type=text_general indexed=true
stored=true/

/field


Then I could search for some unknown key, and receive some unknown data.

Is this possible in Solr?  What is the best way to store this kind of data?


Re: How do I represent a group of customer key/value pairs

2012-08-24 Thread Sheldon P
Thanks for the prompt reply Jack.  Could you point me towards any code
examples of that technique?


On Fri, Aug 24, 2012 at 4:31 PM, Jack Krupansky j...@basetechnology.com wrote:
 The general rule in Solr is simple: denormalize your data.

 If you have some maps (or tables) and a set of keys (columns) for each map
 (table), define fields with names like map-name_key-name, such as
 map1_name, map2_name, map1_field1, map2_field1. Solr has dynamic
 fields, so you can define map-name_* to have a desired type - if all the
 keys have the same type.

 -- Jack Krupansky

 -Original Message- From: Sheldon P
 Sent: Friday, August 24, 2012 3:33 PM
 To: solr-user@lucene.apache.org
 Subject: How do I represent a group of customer key/value pairs


 I've just started to learn Solr and I have a question about modeling data
 in the schema.xml.

 I'm using SolrJ to interact with my Solr server.  It's easy for me to store
 key/value paris where the key is known.  For example, if I have:

 title=Some book title
 author=The authors name


 I can represent that data in the schema.xml file like this:

field name=title type=text_general indexed=true
 stored=true/
field name=author type=text_general indexed=true
 stored=true/

 I also have data that is stored as a Java HashMap, where the keys are
 unknown:

 MapString, String map = new HashMapString, String();
 map.put(some unknown key, some unknown data);
 map.put(another unknown key, more unknown data);


 I would prefer to store that data in Solr without losing its hierarchy.
 For example:

 field name=map type=maptype indexed=true stored=true/

 field name=some unknown key type=text_general indexed=true
 stored=true/

 field name=another unknown key type=text_general indexed=true
 stored=true/

 /field


 Then I could search for some unknown key, and receive some unknown data.

 Is this possible in Solr?  What is the best way to store this kind of data?