2013-10-27 58 views
0

我在php中調用lucene方法有問題。在java中的初學者。 n即時搜索谷歌4解決,但沒有找到。用php調用lucene方法

即時嘗試使用php java橋寫這個java代碼到php。

http://www.lucenetutorial.com/lucene-in-5-minutes.html

,我發現這條線,我不明白它是如何使其向PHP:

IndexReader reader = DirectoryReader.open(index); 

DirectoryReader沒有「新」的初始目的,這就是我不得到它用php寫。

但是,如果像下面的Java代碼,

Query q = new QueryParser(Version.LUCENE_43, "content", analyzer).parse(querystr); 

我這樣寫:

$query = new Query\QueryParser($version->LUCENE_43,'content',$analyzer); 
$query->parse($strquery); 

N無差錯。

那麼,如何打造這個java代碼

IndexReader reader = DirectoryReader.open(index); 

到PHP?

真的需要幫助, 提前感謝。

回答

0

您應該可以使用Zend's Zend_Search_Lucene模塊,而不是直接使用PHP-Java橋接器。看看它可能會更容易。

你可以參考你讀的地方,它會更慢嗎?採取了哪些措施以及如何完成這項工作?我不太確定,無論這些性能如何,他們會對我們的應用程序產生顯着的影響。

另外,由於您使用的是Symfony,因此可以爲SymfonySymfony2提供整合。我真的建議使用Zend Search Lucene,尤其是如果你沒有JAVA的經驗,因爲你的應用程序基於多種技術已經足夠複雜了。

可能派上用場的另一個有用的東西是Lucene/Sorl query builder。我知道我沒有回答你的確切技術問題,但是作爲一名PHP程序員,並且具有Sorl/Lucene的經驗,我只想指出上述問題,以便你可以做出適當的決定。

+0

即時通訊使用laravel 4,我讀過其他帖子,如果我使用zend lucene,它會比使用java lib更慢。 所以即時嘗試使用lucene,你能幫我解決嗎? 我的opp技巧很少缺, –

+0

回答更新。 –