Hello, I'm indexing one lucene document in a couple of steps, For a short period of time the sorted field (a date in this case) may be empty, depending on the order the files are indexed. It's perfectly acceptable (and likely ideal) for that document to not be returned. There are other cases where I would like to sort on a field that isn't always present.
This has been dicussed before in bug 34477 (http://issues.apache.org/bugzilla/show_bug.cgi?id=34477). I was wondering is this going to be implemented in 1.9/2.0? I tried implementing the template patch to all of the places in FieldCacheImpl to see how that works, and got snagged on getAuto(). (see starred lines) public Object getAuto (IndexReader reader, String field) throws IOException { field = field.intern(); Object ret = lookup (reader, field, SortField.AUTO); if (ret == null) { TermEnum enumerator = reader.terms (new Term (field, "")); try { Term term = enumerator.term(); if (term == null) { /*********I'm pretty sure this one doesn't matter*********/ throw new RuntimeException ("no terms in field " + field + " - cannot determine sort type"); } if (term.field() == field) { String termtext = term.text().trim(); // Java 1.3 level code: try { Integer.parseInt (termtext); ret = getInts (reader, field); } catch (NumberFormatException nfe1) { try { Float.parseFloat (termtext); ret = getFloats (reader, field); } catch (NumberFormatException nfe2) { ret = getStringIndex (reader, field); } } if (ret != null) { store (reader, field, SortField.AUTO, ret); } } else { throw new RuntimeException ("field \"" + field + "\" does not appear to be indexed"); /***************What should be returned here??******************/ } } finally { enumerator.close(); } } return ret; } Any suggestions? Thanks, Chris --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]