-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 6.0
-
Component/s: modules/queryparser
-
Labels:None
-
Lucene Fields:New
org.apache.lucene.collation.tokenattributes.ICUCollatedTermAttributeImpl return a hash of collation key's byte.
The given hash value produce incorrect comparison result.
The source code below return 1 for Lucene 3.6.
The code here return 0.
Code to reproduce:
IndexWriter writer = new IndexWriter(ramDir, conf);
Document doc = new Document();
FieldType fieldType = new FieldType();
fieldType.setIndexed(true);
fieldType.setStored(true);
Field field = new Field("content","เข", fieldType);
doc.add(field);
writer.addDocument(doc);
writer.close();
IndexSearcher is = new IndexSearcher(DirectoryReader.open(ramDir));
QueryParser qp = new AnalyzingQueryParser(Version.LUCENE_50,"content", analyzer);
ScoreDoc[] result = is.search(qp.parse("[\u0e01 TO \u0e03]"), null,1000).scoreDocs;
System.out.println(result.length);