Re: How do I represent a group of customer key/value pairs
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
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
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?