mirror of https://github.com/apache/lucene.git
LUCENE-4218: restore stringValue for numeric fields
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1380812 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ea8ecb15a4
commit
8ff108e41d
|
@ -138,6 +138,10 @@ Bug Fixes
|
||||||
* LUCENE-4333: Fixed NPE in TermGroupFacetCollector when faceting on mv fields.
|
* LUCENE-4333: Fixed NPE in TermGroupFacetCollector when faceting on mv fields.
|
||||||
(Jesse MacVicar, Martijn van Groningen)
|
(Jesse MacVicar, Martijn van Groningen)
|
||||||
|
|
||||||
|
* LUCENE-4218: Document.get(String) and Field.stringValue() again return
|
||||||
|
values for numeric fields, like Lucene 3.x and consistent with the documentation.
|
||||||
|
(Jamie, Uwe Schindler, Robert Muir)
|
||||||
|
|
||||||
* NRTCachingDirectory was always caching a newly flushed segment in
|
* NRTCachingDirectory was always caching a newly flushed segment in
|
||||||
RAM, instead of checking the estimated size of the segment
|
RAM, instead of checking the estimated size of the segment
|
||||||
to decide whether to cache it. (Mike McCandless)
|
to decide whether to cache it. (Mike McCandless)
|
||||||
|
|
|
@ -267,7 +267,11 @@ public class Field implements IndexableField, StorableField {
|
||||||
* getBinaryValue() must be set.
|
* getBinaryValue() must be set.
|
||||||
*/
|
*/
|
||||||
public String stringValue() {
|
public String stringValue() {
|
||||||
return fieldsData instanceof String ? (String) fieldsData : null;
|
if (fieldsData instanceof String || fieldsData instanceof Number) {
|
||||||
|
return fieldsData.toString();
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -324,4 +324,25 @@ public class TestDocument extends LuceneTestCase {
|
||||||
// expected
|
// expected
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testNumericFieldAsString() throws Exception {
|
||||||
|
Document doc = new Document();
|
||||||
|
doc.add(new IntField("int", 5, Field.Store.YES));
|
||||||
|
assertEquals("5", doc.get("int"));
|
||||||
|
assertNull(doc.get("somethingElse"));
|
||||||
|
doc.add(new IntField("int", 4, Field.Store.YES));
|
||||||
|
assertArrayEquals(new String[] { "5", "4" }, doc.getValues("int"));
|
||||||
|
|
||||||
|
Directory dir = newDirectory();
|
||||||
|
RandomIndexWriter iw = new RandomIndexWriter(random(), dir);
|
||||||
|
iw.addDocument(doc);
|
||||||
|
DirectoryReader ir = iw.getReader();
|
||||||
|
StoredDocument sdoc = ir.document(0);
|
||||||
|
assertEquals("5", sdoc.get("int"));
|
||||||
|
assertNull(sdoc.get("somethingElse"));
|
||||||
|
assertArrayEquals(new String[] { "5", "4" }, sdoc.getValues("int"));
|
||||||
|
ir.close();
|
||||||
|
iw.close();
|
||||||
|
dir.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue