mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-06-16 17:55:15 +00:00
Slight fix-up to getTopTerms result iterator (it was skipping over the first result)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@7474 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
parent
d3d6959d6a
commit
1e89a663ef
@ -742,26 +742,42 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
|
||||
searcher = getSearcher(indexer);
|
||||
IndexReader reader = searcher.getIndexReader();
|
||||
TermEnum terms = reader.terms(new Term(field, ""));
|
||||
while (terms.next())
|
||||
do
|
||||
{
|
||||
Term term = terms.term();
|
||||
if(!term.field().equals(field))
|
||||
if (term != null)
|
||||
{
|
||||
break;
|
||||
}
|
||||
int freq = terms.docFreq();
|
||||
Pair<String, Integer> pair = new Pair<String, Integer>(term.text(), Integer.valueOf(freq));
|
||||
if (answer.size() < count)
|
||||
{
|
||||
if (answer.size() == 0)
|
||||
if(!term.field().equals(field))
|
||||
{
|
||||
answer.add(pair);
|
||||
break;
|
||||
}
|
||||
else if (answer.get(answer.size() - 1).getSecond().compareTo(pair.getSecond()) >= 0)
|
||||
int freq = terms.docFreq();
|
||||
Pair<String, Integer> pair = new Pair<String, Integer>(term.text(), Integer.valueOf(freq));
|
||||
if (answer.size() < count)
|
||||
{
|
||||
answer.add(pair);
|
||||
if (answer.size() == 0)
|
||||
{
|
||||
answer.add(pair);
|
||||
}
|
||||
else if (answer.get(answer.size() - 1).getSecond().compareTo(pair.getSecond()) >= 0)
|
||||
{
|
||||
answer.add(pair);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (ListIterator<Pair<String, Integer>> it = answer.listIterator(); it.hasNext(); /**/)
|
||||
{
|
||||
Pair<String, Integer> test = it.next();
|
||||
if (test.getSecond().compareTo(pair.getSecond()) < 0)
|
||||
{
|
||||
it.previous();
|
||||
it.add(pair);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (answer.get(count - 1).getSecond().compareTo(pair.getSecond()) < 0)
|
||||
{
|
||||
for (ListIterator<Pair<String, Integer>> it = answer.listIterator(); it.hasNext(); /**/)
|
||||
{
|
||||
@ -773,27 +789,14 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
|
||||
break;
|
||||
}
|
||||
}
|
||||
answer.removeLast();
|
||||
}
|
||||
}
|
||||
else if (answer.get(count - 1).getSecond().compareTo(pair.getSecond()) < 0)
|
||||
{
|
||||
for (ListIterator<Pair<String, Integer>> it = answer.listIterator(); it.hasNext(); /**/)
|
||||
else
|
||||
{
|
||||
Pair<String, Integer> test = it.next();
|
||||
if (test.getSecond().compareTo(pair.getSecond()) < 0)
|
||||
{
|
||||
it.previous();
|
||||
it.add(pair);
|
||||
break;
|
||||
}
|
||||
// off the end
|
||||
}
|
||||
answer.removeLast();
|
||||
}
|
||||
else
|
||||
{
|
||||
// off the end
|
||||
}
|
||||
}
|
||||
} while (terms.next());
|
||||
terms.close();
|
||||
return answer;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user