internal void ShowTopTerms()
{
int nDoc = (int)domainTerms.SelectedItem;
ListView.CheckedListViewItemCollection fields = listFields.CheckedItems;
String[] selectedFields;
if (fields == null || fields.Count == 0)
{
selectedFields = _indexFields;
}
else
{
selectedFields = new String[fields.Count];
int i = 0;
foreach (ListViewItem item in fields)
{
// item.Text without "<", ">"
selectedFields[i++] = item.Text.Substring(1, item.Text.Length - 2);
}
}
try
{
TermInfo[] termInfos = HighFreqTerms.GetHighFreqTerms(_luke.Directory, null, nDoc, selectedFields);
listTerms.BeginUpdate();
listTerms.Items.Clear();
if (termInfos == null || termInfos.Length == 0)
{
ListViewItem noResults = new ListViewItem();
noResults.SubItems.AddRange(new String[] { "", "", _luke.resources.GetString("NoResults") });
listTerms.Items.Add(noResults);
return;
}
for (int i = 0; i < termInfos.Length; i++)
{
ListViewItem item = new ListViewItem((i + 1).ToString());
item.SubItems.AddRange(
new String[] {
termInfos[i].DocFreq.ToString(),
" <" + termInfos[i].Term.Field() + "> ",
termInfos[i].Term.Text()
});
listTerms.Items.Add(item);
}
}
catch (Exception e)
{
_luke.ErrorMessage(e.Message);
}
finally
{
listTerms.EndUpdate();
}
}