Call command Searcher of Lucene from a PHP script
0 posts in topic
Flat View  Flat View
TOPIC ACTIONS:
 

Posted By:   mi_lu
Posted On:   Friday, March 21, 2008 03:43 PM

Hello, My machine is Ubuntu 7.10. I am working with Apache Lucene. I have done with indexer and tried with command line Searcher (the default command line included in Lucene package: http://lucene.apache.org/java/2_3_1/demo2.html). When I use this at command line: java Searcher -query algorithm it works and returns a list of results to me. Here 'algorithm' is the keyword to search. However, I want to have a web search interface written in PHP, I use PHP exec() to call this Searcher from my PHP script: exec("java Searcher -query algorithm ", $arr, $retVal); [I also tried: exec("java Searcher -query 'algorithm' ", $arr, $retVal)]    More>>

Hello,

My machine is Ubuntu 7.10. I am working with Apache Lucene. I have done with indexer and tried with command line Searcher (the default command line included in Lucene package: http://lucene.apache.org/java/2_3_1/demo2.html). When I use this at command line:


java Searcher -query algorithm


it works and returns a list of results to me. Here 'algorithm' is the keyword to search.


However, I want to have a web search interface written in PHP, I use PHP exec() to call this Searcher from my PHP script:


exec("java Searcher -query algorithm ", $arr, $retVal);


[I also tried: exec("java Searcher -query 'algorithm' ", $arr, $retVal)]


It does not work. I print the value of $retVal, it is 1.


I come back and try: exec("java Searcher -query algorithm 2>&1 ", $arr, $retVal);


I receive:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/lucene/analysis/Analyzer


and $retVal is 1


In the command line Searcher.java of Lucene, it imports many libraries, is this the problem?

import org.apache.lucene.analysis.Analyzer;

import org.apache.lucene.analysis.standard.StandardAnalyz er;

....


I guess this is the problem of path. However, I do not know how to fix it because it works in command line ($CLASSPATH points to the .jar file of Lucene library). May be PHP does not know $CLASSPATH. So, I add Lucene lib to $PATH:


export PATH=$PATH:/usr/lib/lucene-core-2.3.1.jar:/usr/lib


However, I get the same error message when I try: exec("java Searcher -query algorithm 2>&1 ", $arr, $retVal);


Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/lucene/analysis/Analyzer


Could you please help?


Thank you,

   <<Less
About | Sitemap | Contact