You've given me some tings to think about, James, thanks. Dennis Gearon
-- On Fri, 12/17/10, Dyer, James <james.d...@ingrambook.com> wrote: > From: Dyer, James <james.d...@ingrambook.com> > Subject: RE: A schema inside a Solr Schema (Schema in a can) > To: "solr-user@lucene.apache.org" <solr-user@lucene.apache.org> > Date: Friday, December 17, 2010, 8:58 AM > Dennis, > > I may be misunderstanding your question, but think I've > just worked through something similar. We're indexing > book metadata, and a book can have more than one > Contributor. We want to store both the contributor's > name, their Role and their id (from our rel db). With > our old system, we had to do something like this: > > contrib: dyer, james|author|123 > contrib: smith, sam|editor|456 > > But Lucene/Solr will guanantee that multivalued fields > return in exactly the same order you put them in. So > with SOLR we can do this: > > contrib_name: dyer, james > contrib_name: smith, sam > contrib_role: author > contrib_role: editor > contrib_id:123 > contrib_id:456 > > The trick is to be very careful you put everything in the > same order (its easy if it is all from the same SQL query > from an relational database). If one of the data > elements is a NULL you have to use a placeholder (like an > empty string or a zero). > > Another option is use a dynamic field: > > contrib_123: dyer, james > contrib_456: smith, sam > > The problem here is if you want to display and use a > fieldlist (fl=), you cannot use wildcards (ex: fl=contrib_* > doesn't work). Same for searching (q=, qf=). You > can only use dynamic fields if you know the fieldname at > runtime you need to deal with. > > Both of these options might be more work for your app to > deal than the delimiter approach. And, in our case, we > could stick with the delimiter field and store it and then > have a separate indexed field that just has the name (as > this is all we search on). You could even just have 1 > field if you used a fancy analysis sequence that would only > index the element(s) you wanted indexes... > > James Dyer > E-Commerce Systems > Ingram Content Group > (615) 213-4311 > > > -----Original Message----- > From: Dennis Gearon [mailto:gear...@sbcglobal.net] > > Sent: Friday, December 17, 2010 12:43 AM > To: solr-user@lucene.apache.org > Subject: A schema inside a Solr Schema (Schema in a can) > > Is it possible to put name value pairs of any type in a > native Solr Index field type? Like JSON/XML/YML? > > The reason that I ask, since you asked, is I want my main > index schema to be a base object, and another multivalue > column to be the attributes of base object inherited > descendants. > > Is there any other way to do this? > > What are the limitations in searching and indexing > documents with multivalue fields? > > Dennis Gearon > > Signature Warning > ---------------- > It is always a good idea to learn from your own mistakes. > It is usually a better idea to learn from others’ > mistakes, so you do not have to make them yourself. from > 'http://blogs.techrepublic.com.com/security/?p=4501&tag=nl.e036' > > EARTH has a Right To Life, > otherwise we all die. >