我正在尝试根据我们拥有的数据创建一个搜索页面。这是我的代码。
SortField sortField = new SortField(TEXT_FIELD_RANK, SortField.Type.INT, true);
Sort sort = new Sort(sortField);
Query q = queryParser.parse(useQuery);
TopDocs topDocs = searcher.search(q, totalLimit, sort);
ScoreDoc[] hits = topDocs.scoreDocs;
log.info("totalResults="+ topDocs.totalHits);
int index = getStartIndex(start, maxReturn);
int resultsLength = start * maxReturn;
if (resultsLength > totalLimit) {
resultsLength = totalLimit;
}
log.info("index:"+ index + "==resultsLength:"+ resultsLength);
for (int i = index; i < resultsLength; ++i) {
}
基本上,这是我的要求。如果有完全匹配,我需要显示完全匹配。如果没有完全匹配,我需要按字段对结果进行排序。所以我检查了 for 循环内的完全匹配。
但在我看来,无论如何它都会对结果进行排序,所以即使有完全匹配,它也不会出现在第一页。
谢谢。