Java中Spring数据弹性搜索未正确排序列表

Java中Spring数据弹性搜索未正确排序列表,
Warning: implode(): Invalid arguments passed in /data/phpspider/zhask/webroot/tpl/detail.html on line 45
,,我有以下数据 Product A-DC1 ssss A-DC3 A-DC2 我有以下方法: public List<Product> searchAndSort(String search, Pageable pageable) { List<Product> productList = null; if (search != null && !search.equals("")) { ((BoolQuerBuilder)(qb)

我有以下数据

Product
A-DC1
ssss
A-DC3
A-DC2
我有以下方法:

public List<Product> searchAndSort(String search, Pageable pageable) {
   List<Product> productList = null;

   if (search != null && !search.equals("")) {
     ((BoolQuerBuilder)(qb)).must((Querybuilders.matchQuery("product", search)));
   }

   NativeSearchQueryBuilder ns = new NativeSearchQueryBuilder();
   ns.withQuery(qb);
   ns.withPageable(pageable);
   ns.withSearchType(SearchType.QUERY_THEN_FETCH);

   productList = productRep.search(ns);

   return productList;
}
当我按降序排序时,会得到以下结果:

A-DC1
A-DC2
A-DC3
ssss
A-DC1
ssss
A-DC2
A-DC3
谁能告诉我为什么会这样?另外,是否有一种方法可以在elastic中进行字母数字/自然排序?也就是说,如果我有公关1,公关2,公关3,公关10 我希望它按以下顺序显示:

Pr 1
Pr 2
Pr 3
Pr 10
目前,它显示:

Pr 1
Pr 10
Pr 2
Pr 3

什么是
qb
?什么作为搜索值传入?qb=querybuilder什么是
qb
?什么作为搜索值传入?qb=queryBuilder