问题标签 [zend-search-lucene]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
128 浏览

php - Zend_search_lucene 限制结果“长度”

我正在使用 lunece 在某个文件中查找字符串或代码编号。我想知道如何“限制”结果内容。

示例:我在长文本(大约 500 个字符)中搜索文件字符串“DC”。

我想在第一个匹配的字符串之前有 20 个字符,在第一个匹配字符串之后有 20 个字符。

像这样:“[..]altri inox 0 50 C aria filtrata senza lubrificazione * 1,5 mm 24V DC 10% (altre a richiesta) 2W Classe F IP 54 (IP 65 connettore) ED 100% 5 ms Serie W *内尔卡斯[..]"

lucene 已经有一个方法还是让我来编写它?我只找到了 highlightMatches()..

0 投票
0 回答
968 浏览

php - Zend Lucene 在一个服务器上索引 UTF-8,而不是另一个,相同的代码

我有一个基于 Zend Search Lucene 构建的自定义搜索引擎。该程序应该以多种语言(目前为 11 种)从全球来源获取数据。我遵循了我发现的所有方法,以确保所有内容都以 UTF-8 编码。在我的 Lucene 索引中,有四个字段可能包含特殊字符,但我们主要处理的是标题和描述字段,目前这些字段非常失败。

在我的本地机器上,我正在运行 XAMPP 进行开发和测试。代码在这里完美运行。我能够毫无问题地索引英语、西班牙语、中文、俄语和其他语言的内容。我可以使用 Luke 来检查结果索引,它看起来很棒。

在具有相同代码的实时服务器上(我已经尝试删除并重新上传以确保),生成的索引在特殊字符上失败。即中文和俄文不索引任何字符。在西班牙语内容中,它会在第一个重音字符所在的位置被截断。看起来也许第一个多字节字符只是杀死了存储。但是文档仍然保存到索引中。其他没有特殊字符的字段正确保存。

这是代码的样子(例如简化):

同样,这段代码加上 Zend 库在两种环境中都是相同的。本地实例会产生一个成功的索引,其中所有这些语言可以在同一个索引中共存,而无需使用不同的分析器。

这是服务器设置之间的比较:

  • 当地的
    • 阿帕奇版本:2.2.6
    • PHP版本:5.2.4
    • PHP 作为 Apache 模块运行
  • 居住
    • 阿帕奇版本:2.2.17
    • PHP版本:5.3.6
    • PHP 作为 FastCGI 运行

两台服务器都启用了 mbstring 多字节支持。我只是不确定还能看什么。CGI 与模块选项是否对此有影响?我需要比较任何其他设置吗?

0 投票
2 回答
149 浏览

php - 我是否必须将我的 PHP 应用程序转换为 MVC 才能使用 Zend_search_lucene?

我现在已经完成了自己的 Web 应用程序的编写。它是用 MYSQL DB 用 PHP 编写的,我根本没有使用任何 MVC 框架。现在我想为我的应用程序添加本地搜索功能,通过查看此处的其他帖子,Zend_Search_Lucene 对我来说似乎是一个不错的选择。

现在如果我想使用 Zend_Search_Lucene 我必须安装整个 Zend 框架然后重新编写我的应用程序并将它们适应它的 MVC 框架吗?

我希望只使用框架的搜索功能,现在我可能并不介意安装整个框架,但如果我必须对我的应用程序进行大规模更改,我肯定会这样做。

感谢任何答案建议,谢谢

0 投票
4 回答
11730 浏览

php - PHP Zend 框架:尝试在浏览器上运行“Lucene.php”时,本地主机上出现内部服务器错误 500

我正在运行 Windows 7,并且我全新安装了 Zend 框架。在一个名为“search.php”的新 php 文件上,我正在尝试使用 Zend_Search_Lucene 构建一个搜索应用程序,第一行是:

当我运行此代码时,我在浏览器上看到的是内部服务器错误 500。然后我发现每当我尝试自行运行 Zend 库中的某些文件时都会收到此错误,这就是导致我提到的错误的原因。 .ie localhost/Zend/Search/Lucene.php, localhost/Zend.../blabla.php 上的 ERROR 500..

但是,某些文件在浏览器上运行时并未显示此 500 服务器错误。即:localhost/Zend/ProgressBar.php 显示一个空页面,这很好,因为我假设代码中没有任何“回声”。这实际上是我在浏览器上运行 lucene.php 时所期望的......

有经验的人可以告诉我这是怎么发生的吗?为什么我得到内部服务器错误而不是异常?无论此内部 500 服务器错误如何,如何检查使用“Lucene.php”文件的搜索应用程序是否正常运行?谢谢。

0 投票
2 回答
1193 浏览

zend-framework - Zend_Search_Lucen - [function.fopen]:无法打开流:权限被拒绝

我正在尝试遵循 Ganesh HS 的 Zend Lucene 搜索教程,但它给了我一个错误。

消息:fopen(/home/zerego/application/lucene-data/read.lock.file)[function.fopen]:无法打开流:权限被拒绝

如果我点击“function.fopen”,它会显示另一条消息:

我的文件夹具有 755 权限,我尝试使用 777,但问题出在我的 ACL 上。

我需要在我的 ACL 中授予某种权限吗?或者我需要在 de .htaccess 中授予这些权限?

0 投票
2 回答
477 浏览

php - 在 PHP 中使用 Lucene

我想知道如何使用 Lucene 使用 PHP 进行搜索和索引,谷歌说我可以这样做,只要它通过 Zend 框架,后者不太可能出现在我的字典中,我使用标准 PHP,我可以使用Zend 只是为了让 Lucene 在我的网站上工作以索引我的电子书?我正在使用 Netbeans 6.8 获取信息,我在 Netbeans 选项的某个地方找到了“Zend”这个词(我所知道的只是他的名字 ^^)。实在看不懂一些网站的建议,请帮忙!并给我最简单的入门方法,然后我会开车!预先感谢,问候!

0 投票
2 回答
1018 浏览

caching - 如何在 Code Igniter 中缓存 Zend Lucene 搜索结果?

我不确定这是否是解决此问题的最佳方法,但我的目标是对我的 lucene 搜索结果进行分页。

我认为运行搜索,将所有结果存储在缓存中,然后在我的结果控制器上具有一个页面功能,可以从缓存结果中返回任何特定的结果子集是有意义的。

这是一个不好的方法吗?我从来没有使用过任何类型的缓存,所以不知道从哪里开始。CI 缓存驱动程序看起来很有希望,但一切都会引发服务器错误。我不知道我是否需要安装APC,或者Memcached,或者做什么。

帮助!

0 投票
2 回答
1996 浏览

zend-framework - Zend_Lucene 错误

我是使用 Zend 框架的新手。我想用 Zend_Lucene 在我的网站上实现一个小型图书引擎。我下载了完整包并将其包含在我的 Netbeans 7 中,一切正常,然后,我阅读了 Zend_Lucene 官方网站的入门教程,我可以进行索引,但有一些错误:这是我的代码:

这些文件已创建:这里是错误:_0.cfs、segments_2、optimization.lock.file、read.lock.file、read-lock-processing.lock.file、write.lock.file 和segments.gen。

这是运行我的代码并创建索引器后出现的错误:

我读到这需要将库包含到我的 include_path 中,我在我的 Netbeans 周围偷偷摸摸,我认为我明白了,这里是截图: 在此处输入图像描述 请支持我的问题,我需要它用于毕业项目!提前致谢!问候!

0 投票
1 回答
697 浏览

php - Zend lucene - 在文本文件中搜索

我目前正在从事一个个人项目,我正在使用 tesseract 读取扫描的文档并将内容存储为文本文件。我将文本文件和 jpeg 文件都保存在我的 web 目录中,并使用 mySQL 数据库维护它们之间的链接。该项目的目的是能够搜索关键术语并能够返回图像。

到目前为止,我已经能够使用 Zend Lucene 索引文本文件,但是在处理搜索文档时遇到了很多问题,我索引中的字段是:图像上传的日期,正文(文本文件的内容),以及图像的 URI。

我相信以上所有内容都可以正常工作。对于我的搜索,我打算按文本文件中的内容和图像上传到目录的日期进行搜索,因此我设计了以下查询,由于某种原因,这些查询一直未能按要求生成,特别是在按日期或搜索时按内容和日期。

如您所见,我什至尝试过使用解析器,但是尽管我在执行搜索时知道至少应该返回两个文档,但上述内容不会返回任何结果。

例如:+body:hill +created:[20110328 TO 20110628]

返回零个文档。

如您所见,我摆脱了所有“/”,“。” 和“-”在我的日期(创建)字段中,我使用了关键字声明来确保它符合搜索要求,但即使这样也没有返回任何内容。

我还想知道如何应用我自己的停用词列表,因为我希望在搜索中包含一些目前不包含但对文档很重要的术语。

由于我不在自己的服务器上工作并且对它的访问权限有限,所以我别无选择,只能使用 lucene 或 mySQL,在我的数据库中使用全文搜索会更好吗?

提前致谢。

0 投票
1 回答
463 浏览

php - 在 Zend Lucene 上使用不同的分析器

我正在尝试使用 Zend Lucene 创建索引。在 Zend 的手册 (http://framework.zend.com/manual/en/zend.search.lucene.extending.html) 中描述了如何使用默认分析器:

所以实际上这为所有字段设置了默认分析器。问题是:如果我有各种字段,有些包含 num+string 值,有些包含常规单词。我可以为每个字段设置不同的分析器吗?

我在 java 的 lucene http://lucene.apache.org/java/3_0_1/api/core/org/apache/lucene/analysis/PerFieldAnalyzerWrapper.html中看到它是可能的