Lucene尝试分配3503812093817007931字节

Lucene尝试分配3503812093817007931字节

我必须搜索约250kb的静态HTML。我以为我会使用Zend Lucene。创建索引需要花费几秒钟的时间,并且一切都很好,除非我搜索“about”,否则最终会这样:

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

换句话来说似乎还可以。此外,文件中包含一些外文。所以我必须使用不区分大小写的分析器
Zend_Search_Lucene_Analysis_Analyzer::setDefault(
    new Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8_CaseInsensitive()
);
Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('utf-8');

在这种情况下,加载将花费很长的时间,并且完全无法正常工作:
Error occured while file reading.

露西恩(Lucene)有严重问题吗?还是我自己弄乱了东西?

最佳答案

Lucene没有这些问题,但是Zend_Search_Lucene有。我不确定您需要搜索多少,并且这是否是一回事,但是我会查询Apache SolrElasticSearch

您可以用一些数据扩展您的问题吗?

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

关于php - Zend_Search_Lucene尝试分配3503812093817007931字节,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9408590/

10-08 20:33