ホームページ  >  記事  >  バックエンド開発  >  php による lucene (JAVA) コードの呼び出しに関する質問

php による lucene (JAVA) コードの呼び出しに関する質問

WBOY
WBOYオリジナル
2016-06-13 13:50:00738ブラウズ

php による lucene (JAVA) コードの呼び出しに関する質問
最近、Web ページを使用して Lucene の検索結果を表示したいと考えています。インターネットでは、Php と javabridge を使用できると書かれていますが、javabridge の例は使用できません。または私が自分で書いたクラス。
apache2.2+php5+mysql
これで、java.lang.String などの Java 独自のクラスを呼び出すことができますが、自分で記述することはできません。 。 。そして、javabridge には次のような例があります:

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php include_once ("java/Java.inc");

java_autoload("lucene.jar");

use java\lang\System as SYS;
use java\io as IO;
use java\util as Util;
use org\apache\lucene as Lucene;


try {
  echo "indexing ... ";
  /* create the index files in the tmp dir */
  $tmp = create_index_dir();
  $analyzer = new Lucene\analysis\standard\StandardAnalyzer();
  $writer = new Lucene\index\IndexWriter($tmp, $analyzer, true);
  $file = new IO\File(getcwd());
  $files = $file->listFiles();
  assert (!java_is_null($files));

  foreach($files as $f) {
    $doc = new Lucene\document\Document();
    $doc->add(new Lucene\document\Field(
           "name", 
           $f->getName(), 
           Lucene\document\Field::type("Store")->YES, 
           Lucene\document\Field::type("Index")->UN_TOKENIZED));
    $writer->addDocument($doc);
  }
................
................
................

しかし、出力は次のとおりです
警告: 入力に予期しない文字があります: '' (ASCII=92) 状態= 0 in C:AppServwwwtest.php on line 5

解析エラー: 構文エラー、予期しない T_STRING、T_AS または T_PAAMAYIM_NEKUDOTAYIM または ';' in C:AppServwwwtest.php on line 5
はこの使用法を使用しません。 。 。 ?
java_require("lucene.jar"); を使用すると、java_require はサポートされていないと表示されます。 。 。
皆さんもぜひお立ち寄りください。 。 。ありがとうございます

-----解決策---------
php のバージョンが低すぎます、名前空間はまだサポートされていません

------解決策---------
環境は設定されていますか? 。 。
テストするための簡単な php を作成します。 。 。
$str = new java("java.lang.String", "hello");
echo $str;
------解決策----------------------
私もこの問題に遭遇したことがあると思いますが、それでもまだ解決していない
------解決策------------------
二階に水やりはありますか? 購入する必要がありますか? ? 以前にも遭遇したことがあるような?私も実際に遭遇しましたが、まだ解決していません。
------解決策------------------
独自の helloworld を作成し、jar にパッケージ化して、 JavaBridge /WEB-INF/lib/ に入れて jdk

を再起動してから、php $helloworld=new Java("helloworld"); 試してみてください

問題ありません
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。