You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by Marco Lazzara <ma...@gmail.com> on 2009/06/01 17:50:13 UTC

Re: Searching index problems with tomcat

In order to let you know about my problem I decided to use swt for the
standalone app and to use Google Web Toolkit for web app!!!!

:):)

bye
ML


2009/5/27 N Hira <nh...@cognocys.com>

>
> Cool!
>
> 1.  So you are creating a parser with { name, synonyms, propIn }, correct?
>
> 2.  Sorry -- I meant the output of "query.toString()"; I'm expecting to see
> something like this when the sentence parameter is set to philipcimiano:
>    name:philipcimiano synonyms:philipcimiano propIn:philipcimiano
>
> 3.  Out of curiosity, what is the value of topDocs.totalHits for your
> search?
>
> -h
>
>
>
> ----- Original Message ----
> From: Marco Lazzara <ma...@gmail.com>
> To: java-user@lucene.apache.org
> Sent: Wednesday, May 27, 2009 2:41:44 PM
> Subject: Re: Searching index problems with tomcat
>
> I've made a bad copy-paste. this is the full class
>
> The output of philipcimiano is  ex#pub1-author-ex#res2-name-philipcimiano
> I've made a bad copy-paste. this is the full class
>
> public class RDFinder {
>
>    private Analyzer analyzer;
>    private Directory directory;
>    private IndexSearcher isearcher;
>    private MultiFieldQueryParser parser;
>    private Query query;
>    private TreeMap<Integer,ArrayList<String>> resultingpaths;
>    private PrintWriter outFile;
>
>    public RDFinder(String indexpath, String[] indexField) throws
> CorruptIndexException, IOException{
>
>        //Creazione dell'oggetto per la ricerca indicando la struttura
> (directory) su cui lavorare e l'analyzer
>        analyzer = new StandardAnalyzer();
>        directory = FSDirectory.getDirectory(indexpath);
>        isearcher = new IndexSearcher(directory);
>        parser = new MultiFieldQueryParser(indexField, analyzer);
>        resultingpaths = new TreeMap<Integer,ArrayList<String>>();
>        outFile = null;
>
>    }
>
>   public TreeMap<Integer,ArrayList<String>> Search(String sentence, String
> Field) throws ParseException, IOException{
>       query = parser.parse(sentence);
>
>       try
>         {
>
>         FileWriter fw = new FileWriter ("paths");
>         BufferedWriter bw = new BufferedWriter (fw);
>         outFile = new PrintWriter (bw);
>
>         }
>         catch (FileNotFoundException exception){}
>         catch (IOException exception){}
>
>       //ArrayList<String> results = new ArrayList<String>();
>
>     //Effettua la ricerca ottenendo l'oggetto TopDocs
>        TopDocs topDocs = isearcher.search(query,1000);
>        //Stampa del conteggio numero di hits.
>        //System.out.println("Numero di hits " + topDocs.totalHits);
>
>        //Array dei risultati
>        ScoreDoc[] scoreDocs = topDocs.scoreDocs;
>        for (ScoreDoc sc : scoreDocs)
>        {
>         //System.out.print(i++ + ": - ");
>         //Attraverso l'oggetto scoreDoc e' possibile ottenere un indice che
> passato all metodo
>         //indexSearcher.doc restituisce un Document dal quale estrarre i
> vari campi
>
>         Field[] response = isearcher.doc(sc.doc).getFields(Field);
>         //System.out.println("Risultato ");
>
>         for (int k = 0; k <response.length; k++){
>             String res = response[k].stringValue();
>             if (!res.trim().equals(""))
>             {
>
>                 outFile.println(res);
>                 outFile.flush();
>                 res = res.toLowerCase();
>                 int lung = CountChar(res, '-')+1;
>
>                 //if (resultingpaths.containsKey(res.length()))
>                 if (resultingpaths.containsKey(lung))
>                     //resultingpaths.get(res.length()).add(res);
>                      resultingpaths.get(lung).add(res);
>                 else {
>                     ArrayList<String> respaths = new ArrayList<String>();
>                     respaths.add(res);
>                     //resultingpaths.put(res.length(), respaths);
>                     resultingpaths.put(lung, respaths);
>                 }
>                 //results.add(res);
>
>             }
>         }
>         //codice che c'era prima
>         /*String res = isearcher.doc(sc.doc).get(Field);
>           System.out.println(res);
>           results.add(res);*/
>        }
>        isearcher.close();
>        return resultingpaths;
>   }
>
>   public boolean Exists(String node) throws ParseException, IOException{
>
>       query = parser.parse(node);
>
>
>
>     //Effettua la ricerca ottenendo l'oggetto TopDocs
>        TopDocs topDocs = isearcher.search(query,1);
>
>
>        //Array dei risultati
>        ScoreDoc[] scoreDocs = topDocs.scoreDocs;
>
>        return (scoreDocs.length >= 1);
>
>   }
>
>   public String[] InputKeywords(String sentence){
>
>       QueryTermVector QTV = new QueryTermVector(sentence, analyzer);
>       return QTV.getTerms();
>
>   }
>
>   public int CountChar(String s, char c){
>       int count = 0;
>       for (int i = 0; i < s.length(); i++)
>           if (s.charAt(i) == c) count++;
>       return count;
>   }
>
> }
>
> [ message truncated by mailer@cognocys.com -- too many replies ]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>