3
我想基於我們的數據進行搜索頁面。這是我的代碼。lucene - 最相關的搜索和排序結果
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循環內的完全匹配。
但是在我看來,無論結果如何,它都會對結果進行排序,所以即使有完全匹配,也不會顯示在第一頁。
謝謝。
感謝您的意見。 – user826323