Hi,

Thanks for explanation. I almost expected that it has to do with" stored 
fields". It's easy to fix:

> ah ok, I know what you mean. We have to read out the stored field values 
> later.
> A field can have multiple (stored) values (several
> document.add(fieldable) invocations for one field). Further, we have the
> problem that some field values are logically related to each other. Since
> Lucene has no possibility to define relationships between documents, and offer
> e.g. key-based, table-join-similar stuff, we took this approach as a kind of
> approximation:
> 
> Example document:  (*fieldName: value1, value2, ..)
>      * personId: personId1, personId2, personId3, personIdN
>      * personName: personName1, personName2, personName3, personNameN
>      * personAge: personAge1, personAge2, personAge3, personAgeN
>      * tagId: tagId1, tagId2, tagId3, tagIdN
>      * tagLabel: tagLabel1, tagLabel2, tagLabel3, tagLabelN
>      *
> 
> In the case there is e.g. no person age known for person 2, we have to insert 
> an
> empty entry to ensure that all data for person 3 is in the third stored field 
> value
> in this document:
> 
>      * personName: personName1, personName2, personName3, personNameN
>      * personAge: personAge1, EMPTYENTRY, personAge3, personAgeN
> 
> since you can't create a numeric Field instance with a null entry (that would 
> be
> wonderfull), we insert a string fieldable, so in this example the values for
> 'personage1, personage3, and personageN are NumericFields, and
> EMPTYENTRY is a standard string field with a zero-length string value "". This
> results into exceptions when we sort against the personAge field.

Then add those zero-length string fields with Field.Index.NO - they dnt have to 
be indexed. For your use case Store.YES is enough!

> We also thinked about NaN or negative infinity as placeholder - but these are
> only available at Float and Double. For Longs and Integers, only min_value and
> max_value are offered. Further, we have to convert this value back into null 
> or
> something empty, whereby the empty string value field integrates seamless as
> it should (with respect to the exceptions ;) ) But maybe there is no other
> possibility to take the max/min values?
> 
> 
> 
> 2012/2/15 Uwe Schindler <u...@thetaphi.de>:
> > Hi,
> >
> > This looks like an XY problem
> (http://www.perlmonks.org/index.pl?node_id=542341). Maybe you should first
> explain to us, why you need that. In Lucene fields have no "equal length" or
> something like that, especially numeric fields are tokenized and contain of
> several tokens separately indexed. So what do you mean with equal length?
> Why must this "length" be identical?
> >
> > The only suggestion is to index a "fake" placeholder value (like -1, 
> > infinity,
> NaN). If you only need it in the "stored" fields, just store it but don't 
> index it.
> >
> > Uwe
> >
> > -----
> > Uwe Schindler
> > H.-H.-Meier-Allee 63, D-28213 Bremen
> > http://www.thetaphi.de
> > eMail: u...@thetaphi.de
> >
> >
> >> -----Original Message-----
> >> From: Christian Reuschling [mailto:christian.reuschl...@gmail.com]
> >> Sent: Wednesday, February 15, 2012 12:58 PM
> >> To: java-user
> >> Subject: Empty numeric field
> >>
> >> Hi all,
> >>
> >> for some reason, we need empty numeric field values (to ensure that
> >> the length of the field value list is constant). We tried to add an
> >> empty String- Fieldable instead in the case a value is not present,
> >> which seemed to work for searching.
> >> Nevertheless, when we want to sort against this field, sadly we fall
> >> into exceptions.
> >>
> >> Is there any possibility to store empty numeric fields into a
> >> document/the index?
> >>
> >> Thanks
> >>
> >> Chris
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> >> For additional commands, e-mail: java-user-h...@lucene.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> > For additional commands, e-mail: java-user-h...@lucene.apache.org
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to