我正在向Document添加一个字段:
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);
我做错了吗?我如何按字母顺序排序?
答案 0 :(得分:12)
SortField
不应该被标记化。如果您需要将字段标记为有效搜索并对其进行排序,则可以在同一内容上创建单独的未标记字段(StringField
),并对该字段进行排序,如:
doc.add(new TextField("productName", prod.getProductName(), Field.Store.YES));
doc.add(new StringField("productNameSort", prod.getProductName(), Field.Store.NO));