问题标签 [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 Lucene 还是 sphinx?
我正在构建一个具有数百万条记录的数据库操作的系统。我在项目的所有部分中都使用 Zend 框架。我想使用搜索索引技术,但是您对此有什么建议吗?我应该使用哪种技术?
提前致谢
zend-framework - Zend_Search_Lucene 限制结果集
有没有办法通过最好的N个结果来限制结果集?如果我使用Zend_Search_lucene::setResultSetLimit(10)
我只会得到任何 10 个结果,而不是根据我的排序声明的 10 个最佳结果。
zend-search-lucene - Zend lucene - 在范围内搜索
我有以下代码来创建 Zend Lucene 索引
我的搜索查询是
在这里,我试图获得 minSalary 等于或小于 20000 的所有工作。但我得到的结果是具有以下 minSalary 值的工作
有人可以就此提出建议吗?
谢谢乙
php - 检查对象类型的变量中是否存在字段/属性
我正在使用 Zend_Search_Lucene 来索引我的网站。我的网站索引并不完全相似。有的有,很少的领域,有的有很多领域。我试图通过不同类型的表创建一个类似的索引,这就是我遇到这种错误的原因。
现在,当我显示结果时。我调用了一些字段,这些字段并不存在于生成错误的所有结果中。我试图用它来检查它,isset
但它似乎完全跳过了这一行。
如何检查是否有任何东西$hit -> name
存在$hit
php - 更新 Zend Search Lucene 索引的索引文档
我已经阅读了这个问题 创建和更新 Zend_Search_Lucene 索引。
但它未能回答我的问题。这篇来自 zend 的文章告诉我们无法更新文档。为了有效地更新,每个文档都必须被删除并重新索引。
现在,这对我不起作用。我在中给出了索引路径$removePath
并尝试了代码。它没有用。如果我使用与我的特定索引相关的东西,比如$index->find("title:test");
它会抛出
我也尝试过使用
但它给出了相同的结果。
我什至不知道如何调试这种类型的错误。即使它被调试,我也只会得到搜索的项目而不是所有的文档。因此,不会删除所有文档。
谁能告诉我我做错了什么。如何更新您的搜索索引?
lucene.net - Lucene 3.0.3 | *.docx 文件的搜索问题
我在StandardAnalyzer的帮助下为*.docx文件创建索引,这很好。但是在搜索时,它并没有给出这些 *.docx 文件的结果。
任何帮助或建议将不胜感激!!!
mysql - Zend Framework + Doctrine + MySQL 的好搜索解决方案?
我已经研究过 Doctrine 的内置搜索、MySQL myisam 全文搜索、Zend_Lucene 和 sphinx - 但是所有的细微差别和实现细节都让我很难理清,因为我没有其他经验myisam 搜索。
我真正想要的是可以与 Zend Framework 和 Doctrine(MySQL 后端,可能是 InnoDB)一起工作的简单的东西。我不需要复杂的东西,比如单词替换、自动完成等等(不是说我会反对这些东西,如果它足够容易并且足够有效地实现的话)。
主要的是跨多个数据库表搜索字符串的能力,以及具有一些基本搜索条件的多个字段(例如user.state. = CA AND user.active = 1
)。数据库的大小将从大约 50K+ 记录开始(旧数据被转储),最大的单个可搜索表将是大约 15K 记录,并且随着时间的推移它会显着增长。
也就是说,Zend_Lucene 对我很有吸引力,因为它很灵活(以防我将来确实需要我的搜索解决方案)并且因为它可以解析 MS Office 文件(将由用户上传到我的应用程序)。但它的灵活性也使得设置起来有点复杂。
我想最直接的选择是只使用 Doctrine 的搜索功能,但我不确定这是否能够处理我需要的东西。而且我不知道有什么选择可以结合我对简单和强大的渴望。
您会建议我调查哪些搜索解决方案?为什么您认为该解决方案在这种情况下会很好地工作?
php - Zend lucene 和 MySql 数据库
我有一个 PHP 网站,其中的数据存储在 MySql 数据库中。(大约 50 000 篇文章)我想改进全文搜索功能的结果,并停止使用简单的 LIKE 查询。
我从 Zend 框架中发现 Zend_Search_Lucene 似乎是一个很棒的工具。
您认为 zend search lucene 在我的情况下是一个不错的选择吗?
用 lucene 索引我的所有文章后,我需要将数据保留在 MySql 中还是 zend search lucene 足以保留所有数据?
提前致谢,
php - Zend Search Lucene 数字通配符问题
我正在为一个项目使用 Zend Lucene Search 的实现,并且像许多初学者一样直接意识到数字没有被索引。因此,通过一些搜索,我想出了如何使用以下方法更改分析器以包含数字:
但是,尽管数字现在可以工作,但它们并没有被视为“文本”(即,根据 ( $this->_pattern->text
) 的定义。因此,如果我尝试使用 20234* (甚至 'C13A*' - 任何东西)执行通配符搜索其中一个数字作为前面 3 个字符之一出现)返回异常:
'模式开头至少需要 3 个非通配符' ...在 wildcard.php 中
我上次检查时,数字不是通配符!
我已经看到其他一些人使用上面的分析器修复来允许对数字进行索引,并且他们在搜索中没有这个问题。输入 20234* 实际上适用于他们的情况。
不幸的是,似乎没有人知道如何解决/改变这种行为,我已经阅读了很多搜索内容才意识到我肯定需要帮助。
我尝试的另一件事是将要求(在 wildcard.php 中)简单地更改为“0”,这消除了该错误(尽管方式很糟糕),但会带来一个新错误:
... wildcard.php 中的“达到每个查询的字数限制”
即使每个数字都被视为一个单独的术语,我也看不出 20234* 如何违反查询限制。
所以当然我现在可以更改 $maxTerms 变量,但显然这不是一个解决方案,并且可能会产生操作问题/更多错误。