问题标签 [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.
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()..
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 与模块选项是否对此有影响?我需要比较任何其他设置吗?
php - 我是否必须将我的 PHP 应用程序转换为 MVC 才能使用 Zend_search_lucene?
我现在已经完成了自己的 Web 应用程序的编写。它是用 MYSQL DB 用 PHP 编写的,我根本没有使用任何 MVC 框架。现在我想为我的应用程序添加本地搜索功能,通过查看此处的其他帖子,Zend_Search_Lucene 对我来说似乎是一个不错的选择。
现在如果我想使用 Zend_Search_Lucene 我必须安装整个 Zend 框架然后重新编写我的应用程序并将它们适应它的 MVC 框架吗?
我希望只使用框架的搜索功能,现在我可能并不介意安装整个框架,但如果我必须对我的应用程序进行大规模更改,我肯定会这样做。
感谢任何答案建议,谢谢
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”文件的搜索应用程序是否正常运行?谢谢。
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 中授予这些权限?
php - 在 PHP 中使用 Lucene
我想知道如何使用 Lucene 使用 PHP 进行搜索和索引,谷歌说我可以这样做,只要它通过 Zend 框架,后者不太可能出现在我的字典中,我使用标准 PHP,我可以使用Zend 只是为了让 Lucene 在我的网站上工作以索引我的电子书?我正在使用 Netbeans 6.8 获取信息,我在 Netbeans 选项的某个地方找到了“Zend”这个词(我所知道的只是他的名字 ^^)。实在看不懂一些网站的建议,请帮忙!并给我最简单的入门方法,然后我会开车!预先感谢,问候!
caching - 如何在 Code Igniter 中缓存 Zend Lucene 搜索结果?
我不确定这是否是解决此问题的最佳方法,但我的目标是对我的 lucene 搜索结果进行分页。
我认为运行搜索,将所有结果存储在缓存中,然后在我的结果控制器上具有一个页面功能,可以从缓存结果中返回任何特定的结果子集是有意义的。
这是一个不好的方法吗?我从来没有使用过任何类型的缓存,所以不知道从哪里开始。CI 缓存驱动程序看起来很有希望,但一切都会引发服务器错误。我不知道我是否需要安装APC,或者Memcached,或者做什么。
帮助!
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 周围偷偷摸摸,我认为我明白了,这里是截图:
请支持我的问题,我需要它用于毕业项目!提前致谢!问候!
php - Zend lucene - 在文本文件中搜索
我目前正在从事一个个人项目,我正在使用 tesseract 读取扫描的文档并将内容存储为文本文件。我将文本文件和 jpeg 文件都保存在我的 web 目录中,并使用 mySQL 数据库维护它们之间的链接。该项目的目的是能够搜索关键术语并能够返回图像。
到目前为止,我已经能够使用 Zend Lucene 索引文本文件,但是在处理搜索文档时遇到了很多问题,我索引中的字段是:图像上传的日期,正文(文本文件的内容),以及图像的 URI。
我相信以上所有内容都可以正常工作。对于我的搜索,我打算按文本文件中的内容和图像上传到目录的日期进行搜索,因此我设计了以下查询,由于某种原因,这些查询一直未能按要求生成,特别是在按日期或搜索时按内容和日期。
如您所见,我什至尝试过使用解析器,但是尽管我在执行搜索时知道至少应该返回两个文档,但上述内容不会返回任何结果。
例如:+body:hill +created:[20110328 TO 20110628]
返回零个文档。
如您所见,我摆脱了所有“/”,“。” 和“-”在我的日期(创建)字段中,我使用了关键字声明来确保它符合搜索要求,但即使这样也没有返回任何内容。
我还想知道如何应用我自己的停用词列表,因为我希望在搜索中包含一些目前不包含但对文档很重要的术语。
由于我不在自己的服务器上工作并且对它的访问权限有限,所以我别无选择,只能使用 lucene 或 mySQL,在我的数据库中使用全文搜索会更好吗?
提前致谢。
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中看到它是可能的