Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lucene Java文本字段排序-按字母顺序_Java_Sorting_Lucene - Fatal编程技术网

Lucene Java文本字段排序-按字母顺序

Lucene Java文本字段排序-按字母顺序,java,sorting,lucene,Java,Sorting,Lucene,我正在向文档添加一个字段,如下所示: doc.add(new TextField("productName", prod.getProductName(), Field.Store.YES)); 但是,当我进行搜索并尝试排序时,我不会按字母顺序获取内容: Sort sorter = new Sort(); SortField sortField = new SortField("productName", Type.STRING, false); sorter.setSort(sortFie

我正在向文档添加一个字段,如下所示:

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
s不应标记化。如果需要对字段进行标记以有效搜索,并对其进行排序,可以在同一内容上创建一个单独的未标记字段(
StringField
),然后对该字段进行排序,如:

doc.add(new TextField("productName", prod.getProductName(), Field.Store.YES));
doc.add(new StringField("productNameSort", prod.getProductName(), Field.Store.NO));

这有点帮助:谢谢,这很有帮助。我希望我不必创建另一个字段来进行排序。