rmuir commented on code in PR #12054:
URL: https://github.com/apache/lucene/pull/12054#discussion_r1068154625


##########
lucene/demo/src/java/org/apache/lucene/demo/IndexFiles.java:
##########
@@ -234,8 +234,8 @@ void indexDoc(IndexWriter writer, Path file, long 
lastModified) throws IOExcepti
       // field that is indexed (i.e. searchable), but don't tokenize
       // the field into separate words and don't index term frequency
       // or positional information:
-      Field pathField = new StringField("path", file.toString(), 
Field.Store.YES);
-      doc.add(pathField);
+      doc.add(new KeywordField("path", file.toString()));
+      doc.add(new StoredField("path", file.toString()));

Review Comment:
   look at current stored fields writer as example. All these damn java 
abstractions, yet our codec writer is doing **TYPE-GUESSING?**. Let's add a new 
method, so the codec knows the type and never guesses. This "guessing" belongs 
as an impl detail behind a new method in Field.java IMO (because Field.java 
tries to be a superhero and support all types). For structured types like 
KeywordField it should just be `return STRING`.
   
   ```
       Number number = field.numericValue();
       if (number != null) {
         if (number instanceof Byte || number instanceof Short || number 
instanceof Integer) {
           bits = NUMERIC_INT;
         } else if (number instanceof Long) {
           bits = NUMERIC_LONG;
         } else if (number instanceof Float) {
           bits = NUMERIC_FLOAT;
         } else if (number instanceof Double) {
           bits = NUMERIC_DOUBLE;
         } else {
           throw new IllegalArgumentException("cannot store numeric type " + 
number.getClass());
         }
         string = null;
         bytes = null;
       } else {
         bytes = field.binaryValue();
         if (bytes != null) {
           bits = BYTE_ARR;
           string = null;
         } else {
   ```
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to