我正在向文档中添加一个字段:
doc.add(new TextField("productName", prod.getProductName(), Field.Store.YES));
但是当我进行搜索并尝试排序时,我无法按字母顺序排列:
Sort sorter = new Sort();
SortField sortField = new SortField("productName", Type.STRING, false);
sorter.setSort(sortField);
我做错了什么吗?如何按字母顺序排序?
最佳答案
SortField
不应被标记化。如果您需要对字段进行标记化以进行有效搜索,并对其进行排序,您可以在相同内容上创建一个单独的未标记化字段 (StringField
),然后对其进行排序,例如:
doc.add(new TextField("productName", prod.getProductName(), Field.Store.YES));
doc.add(new StringField("productNameSort", prod.getProductName(), Field.Store.NO));
关于java - Lucene Java 在 TextField 上排序 - 按字母顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22516991/