在liferay中,我正在使用ElasticSearch,并尝试按分数对我的结果进行排序。.
SearchContext searchContext = new SearchContext();
searchContext.setCompanyId( filters.getCompanyIdContext() );
searchContext.setStart( filters.getStart() );
searchContext.setEnd( MAX_RESULT );
searchContext.setSorts( new Sort( "_score", false) );
searchContext.getQueryConfig().setSelectedFieldNames( SELECTABLE_FIELDS );
searchQuery.getQueryConfig().setSelectedFieldNames( SELECTABLE_FIELDS );
List<ElasticElement> elasticResult = getElements( indexSearcherHelper.search( searchContext, searchQuery ) );
问题是,当我刷新页面时,它失去了这种排序顺序。我想是因为,在刷新之后,Elastic给出了不同的分数,所以我尝试添加第二个按字段ID排序,但没有帮助。 谢谢您的任何建议!