Something like this works pretty well

public static Map <String, Integer> getFullTerms(IndexReader ir, String
fieldName, IndexSearcher is) throws IOException{
   Map<String,Integer > termMap = new LinkedHashMap<String,Integer>();
          TermEnum terms = ir.terms(new Term(fieldName, ""));
          while (fieldName.equals(terms.term().field()))
          {
         // System.out.println(terms.term().text());
           termMap.put(getCatName(terms.term().text(), ir, is),
terms.docFreq());
             System.out.println("Unique category ids: " +terms.term().text()
+ " catname: "+getCatName(terms.term().text(), ir, is)+" shows up in this
many docs: "+ terms.docFreq());
              if (!terms.next())
                  break;
          }
          return termMap;
   }

On Sat, Jan 1, 2011 at 4:32 PM, Benzion G <benzi...@yahoo.com> wrote:

> Lets' say I have documents with following.
>
> id    text
> 1     User not found
> 2     User not found
> 3     Address not found
> 4     Fatal error
> 5     User not found
> 6     Address not found
> 7     User not found
>
>
> How can I get each text only once in search results (similar to SQL "GROUP
> BY"),
> i.e.
>
> id    text
> 1     User not found
> 3     Address not found
> 4     Fatal error
>
>
> Regards,
> Benzion.
>
>
>




-- 
Joe Scanlon

jscan...@element115.net

Mobile: 603 459 3242
Office:  312 445 0018

Reply via email to