Zend_Search_Lucene尝试分配3503812093817007931字节

13 php lucene search zend-framework

我有大约250kb的静态HTML,我必须搜索.我想我会使用Zend Lucene.创建索引需要几秒钟,一切都很好,除非我搜索"关于"它最终得到这个:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 
3503812093817007931 bytes) in /var/www/u1938159/data/www/-----
/protected/vendors/Zend/Search/Lucene/Storage/File/Filesystem.php on line 163
Run Code Online (Sandbox Code Playgroud)

其他的话似乎还可以.而且,这些文件包含一些外国文本.所以我必须使用不区分大小写的分析器

Zend_Search_Lucene_Analysis_Analyzer::setDefault(
    new Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8_CaseInsensitive()
);
Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('utf-8');
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它需要一个永恒的加载,并完全不起作用崩溃:

Error occured while file reading.
Run Code Online (Sandbox Code Playgroud)

Lucene是否有严重的问题或者我自己搞乱了什么?

Til*_*ill 2

Lucene 没有这些问题,但是Zend_Search_Lucene却有。我不确定您需要搜索多少,以及这是否是一次性的事情,但我会研究Apache SolrElasticSearch

你能用一些数据来扩展你的问题吗?

还有一些托管服务,如果您需要更多指导,请告诉我。