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. 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