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 Petros <cs...@yahoo.gr> on 2009/05/17 20:24:04 UTC

Lucene Applet

Hello there.

I am developing a Lucene search which will search text files 
using an applet as GUI.
I create the index file and the searching works 
when I am running the application from the command line.
However when I run the applet and I make a searching 
I get the error :

Exception in thread "AWT-EventQueue-2" java.lang.ExceptionInInitializerError
	at gui.search(gui.java:105)
	at gui$ButtonListener.actionPerformed(gui.java:71)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied
(java.util.PropertyPermission
org.apache.lucene.analysis.standard.StandardAnalyzer.replaceInvalidAcronym
read)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
	at java.lang.System.getProperty(Unknown Source)
	at
org.apache.lucene.analysis.standard.StandardAnalyzer.<clinit>(StandardAnalyzer.java:50)
	... 26 more
    
    
    Code:
    
    
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.IOException;
import java.io.StringReader;
import org.apache.lucene.queryParser.ParseException;
import java.lang.*;
import java.io.*;
import java.util.*;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.Query;
import org.apache.lucene.document.Field;
import org.apache.lucene.search.Searcher;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.document.Document;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocCollector;
import org.apache.lucene.store.Directory;

public class gui extends JApplet
{
    private Container myContainer;
    private JTextField myField=new JTextField(20);
    private JLabel myLabel=new JLabel();
    String terms=new String();
    
    public void init() 
    {
        myContainer=getContentPane();
        myContainer.setLayout(new FlowLayout());
        JLabel searchLabel=new JLabel("Search");
        myContainer.add(searchLabel);
        myContainer.add(myField);
        JButton myButton=new JButton("start search");
        myContainer.add(myButton);
        ButtonListener myListener=new ButtonListener();
        myButton.addActionListener(myListener);
        myContainer.add(myLabel);
    }
    
    
    
    private class ButtonListener implements ActionListener 
    {
        public void actionPerformed(ActionEvent event)
        {
            try
            {
               terms=myField.getText();
                search();
           }
        catch(IOException ioe)
        {}
           catch(ParseException pe)
           {}
        }
    }
    
    public void search() throws IOException, ParseException
    {
        StandardAnalyzer analyzer = new StandardAnalyzer();
        myLabel.setText( terms );
        
        Query q = new QueryParser("article", analyzer).parse(terms);

        int hitsPerPage = 40;
        IndexSearcher searcher = new
IndexSearcher(FSDirectory.getDirectory("lucene-index"));
        
        
        TopDocCollector collector = new TopDocCollector(hitsPerPage);
        searcher.search(q, collector);
        ScoreDoc[] hits = collector.topDocs().scoreDocs;
    
        String filename1="results_machine";
        
        FileWriter writeConnToFile = new FileWriter(filename1);
        PrintWriter printFile = new PrintWriter(new
BufferedWriter(writeConnToFile));
    
        System.out.println("Found " + hits.length + " hits.");
        for(int i=0;i<hits.length;++i) 
        {
            int docId = hits[i].doc;
            Document d = searcher.doc(docId);
            printFile.println(d.get("docno"));
            //System.out.println((i + 1) + ". " +
d.get("headline")+"\n"+"\n"+"\n");
        }
        printFile.close();
        searcher.close();       
    }
}


Thanks
Petros 
    

-- 
View this message in context: http://www.nabble.com/Lucene-Applet-tp23586143p23586143.html
Sent from the Lucene - Java Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Re: Lucene Applet

Posted by Otis Gospodnetic <ot...@yahoo.com>.
Petros,

Perhaps this old thread will help: http://markmail.org/thread/k3y4d32adwnhbvhw

Otis
--
Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch



----- Original Message ----
> From: Petros <cs...@yahoo.gr>
> To: java-user@lucene.apache.org
> Sent: Sunday, May 17, 2009 2:24:04 PM
> Subject: Lucene Applet
> 
> 
> Hello there.
> 
> I am developing a Lucene search which will search text files 
> using an applet as GUI.
> I create the index file and the searching works 
> when I am running the application from the command line.
> However when I run the applet and I make a searching 
> I get the error :
> 
> Exception in thread "AWT-EventQueue-2" java.lang.ExceptionInInitializerError
>     at gui.search(gui.java:105)
>     at gui$ButtonListener.actionPerformed(gui.java:71)
>     at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
>     at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
>     at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
>     at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
>     at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
>     at java.awt.Component.processMouseEvent(Unknown Source)
>     at javax.swing.JComponent.processMouseEvent(Unknown Source)
>     at java.awt.Component.processEvent(Unknown Source)
>     at java.awt.Container.processEvent(Unknown Source)
>     at java.awt.Component.dispatchEventImpl(Unknown Source)
>     at java.awt.Container.dispatchEventImpl(Unknown Source)
>     at java.awt.Component.dispatchEvent(Unknown Source)
>     at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
>     at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
>     at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
>     at java.awt.Container.dispatchEventImpl(Unknown Source)
>     at java.awt.Component.dispatchEvent(Unknown Source)
>     at java.awt.EventQueue.dispatchEvent(Unknown Source)
>     at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>     at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>     at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>     at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>     at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>     at java.awt.EventDispatchThread.run(Unknown Source)
> Caused by: java.security.AccessControlException: access denied
> (java.util.PropertyPermission
> org.apache.lucene.analysis.standard.StandardAnalyzer.replaceInvalidAcronym
> read)
>     at java.security.AccessControlContext.checkPermission(Unknown Source)
>     at java.security.AccessController.checkPermission(Unknown Source)
>     at java.lang.SecurityManager.checkPermission(Unknown Source)
>     at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
>     at java.lang.System.getProperty(Unknown Source)
>     at
> org.apache.lucene.analysis.standard.StandardAnalyzer.(StandardAnalyzer.java:50)
>     ... 26 more
>     
>     
>     Code:
>     
>     
> import java.applet.Applet;
> import java.awt.*;
> import java.awt.event.*;
> import javax.swing.*;
> import java.io.IOException;
> import java.io.StringReader;
> import org.apache.lucene.queryParser.ParseException;
> import java.lang.*;
> import java.io.*;
> import java.util.*;
> import org.apache.lucene.search.Hits;
> import org.apache.lucene.search.Query;
> import org.apache.lucene.document.Field;
> import org.apache.lucene.search.Searcher;
> import org.apache.lucene.index.IndexWriter;
> import org.apache.lucene.document.Document;
> import org.apache.lucene.store.FSDirectory;
> import org.apache.lucene.search.IndexSearcher;
> import org.apache.lucene.queryParser.QueryParser;
> import org.apache.lucene.analysis.standard.StandardAnalyzer;
> import org.apache.lucene.analysis.Analyzer;
> import org.apache.lucene.search.ScoreDoc;
> import org.apache.lucene.search.TopDocCollector;
> import org.apache.lucene.store.Directory;
> 
> public class gui extends JApplet
> {
>     private Container myContainer;
>     private JTextField myField=new JTextField(20);
>     private JLabel myLabel=new JLabel();
>     String terms=new String();
>     
>     public void init() 
>     {
>         myContainer=getContentPane();
>         myContainer.setLayout(new FlowLayout());
>         JLabel searchLabel=new JLabel("Search");
>         myContainer.add(searchLabel);
>         myContainer.add(myField);
>         JButton myButton=new JButton("start search");
>         myContainer.add(myButton);
>         ButtonListener myListener=new ButtonListener();
>         myButton.addActionListener(myListener);
>         myContainer.add(myLabel);
>     }
>     
>     
>     
>     private class ButtonListener implements ActionListener 
>     {
>         public void actionPerformed(ActionEvent event)
>         {
>             try
>             {
>                terms=myField.getText();
>                 search();
>            }
>         catch(IOException ioe)
>         {}
>            catch(ParseException pe)
>            {}
>         }
>     }
>     
>     public void search() throws IOException, ParseException
>     {
>         StandardAnalyzer analyzer = new StandardAnalyzer();
>         myLabel.setText( terms );
>         
>         Query q = new QueryParser("article", analyzer).parse(terms);
> 
>         int hitsPerPage = 40;
>         IndexSearcher searcher = new
> IndexSearcher(FSDirectory.getDirectory("lucene-index"));
>         
>         
>         TopDocCollector collector = new TopDocCollector(hitsPerPage);
>         searcher.search(q, collector);
>         ScoreDoc[] hits = collector.topDocs().scoreDocs;
>     
>         String filename1="results_machine";
>         
>         FileWriter writeConnToFile = new FileWriter(filename1);
>         PrintWriter printFile = new PrintWriter(new
> BufferedWriter(writeConnToFile));
>     
>         System.out.println("Found " + hits.length + " hits.");
>         for(int i=0;i
>         {
>             int docId = hits[i].doc;
>             Document d = searcher.doc(docId);
>             printFile.println(d.get("docno"));
>             //System.out.println((i + 1) + ". " +
> d.get("headline")+"\n"+"\n"+"\n");
>         }
>         printFile.close();
>         searcher.close();      
>     }
> }
> 
> 
> Thanks
> Petros 
>     
> 
> -- 
> View this message in context: 
> http://www.nabble.com/Lucene-Applet-tp23586143p23586143.html
> Sent from the Lucene - Java Users mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org