问题标签 [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 投票
0 回答
228 浏览

zend-framework - 为什么我对 Lucene (zend) 中的 2 个字段的搜索失败?

所以,我有两个要索引的字段:

我按以下方式编制索引:

现在,我以以下方式查询索引:

这是奇怪的事情。如果我查询 'thai' 或字段 business_name 中的任何单词,我会得到结果。但是,一旦我查询“餐厅”,我的屏幕就无法解析,而是变成了白屏。如果我将代码更改为此:

然后我确实得到了结果。我不明白 Lucene 不喜欢什么。是我的数据吗?这是我创建查询的方式吗?还是我创建索引的方式?

0 投票
2 回答
411 浏览

php - Zend Lucene 搜索相关字段?

我有很多配对字段(hoursDistance1、cityName1、hoursDistance2、cityName2、hoursDistance3、cityName3 等)。

我需要搜索什么查询,以便 Lucene 根据具有正确术语的两个字段而不是其中一个来评分?即,如果我用这个名字搜索距离这里 3 小时的城市,我如何让它返回距离这里 3 小时的 hoursDistanceN 和 cityNameN 的结果而不对其他字段对进行评分?

0 投票
1 回答
200 浏览

zend-framework - Zend Lucene 字典范围搜索返回不相关的结果

我正在使用 Zend Lucene 为我的网站构建搜索功能。一切都很好。

了解 Lucene 会 按 字典顺序 进行 搜索 ( 例如
1、110、1111444、2、3、4、499238492834798、5







我已将我的号码填充为 3 位数字(范围从 010 到 990)。

当我对值 110 到 160 进行范围搜索时(例如字段名:[110 TO 160]),它返回的结果为 040!从逻辑上讲,这是错误的,因为所有数字都以 1 开头(尽管它仍会搜索 11、12、13、14、15 和 16)所以它不应该匹配这个结果!

为什么会发生这种情况,我该如何阻止它这样做?

[编辑] 我误读了 Zend 文档。按字典顺序对结果进行排序的范围查询。但我的问题仍然存在。

0 投票
1 回答
565 浏览

php - Zend lucene 内容字段

我已经使用 Nutch 索引了一个站点,现在我正在使用 Zend Lucene 库搜索索引。

我实际上已经将 Zend 库拉入了 Codeigniter,但是这一切都是 Zend 做的。

我可以很好地显示标题、分数和网址,但我找不到显示页面内容的字段名称。

到目前为止,我有以下代码

任何人都可以帮助显示内容或内容摘要的字段名称吗?

谢谢

0 投票
1 回答
260 浏览

zend-framework - 在 Zend 框架中使用 Lucene 索引添加/更改不起作用

我对编程很陌生,对 Zend/Lucene 索引肯定很陌生。不过,据我所知,我的代码是正确的。我觉得我可能忽略了一个步骤或尝试上传更改并添加到数据库中的内容,以便它们出现在我网站的搜索中。我没有收到任何类型的错误消息。下面是控制器的代码。我想让我知道您是否需要其他任何东西来帮助您理解这一点。提前感谢您提供的任何指导。

}

0 投票
1 回答
1017 浏览

zend-framework - 使用 Zend Lucene 对范围查询进行排序

根据文档,Zend Lucene 应该按字典顺序排序。我发现情况并非如此。如果我有一个查询'avg:[050 TO 300]',是的,它会返回该范围内的所有值,但它会根据文档 ID 对它们进行排序,而不是值。

我发现 find() 函数可以接受附加参数,允许我按特定列(例如$hits = $index->find($query, 'avg', SORT_NUMERIC, SORT_ASC);)排序。但是,我正在动态创建 $query,并且不想按“avg”对每个搜索进行排序。

当我进行范围搜索时,如何强制 Lucene 按字典顺序自动对结果进行排序?如果这不可能,我如何动态地将排序字段添加到查找函数?

0 投票
1 回答
229 浏览

php - Zend_Lucene 和通配符运算符怪异

我的问题的快速总结,通配符运算符似乎没有返回我期望的结果。我正在针对某些Keyword领域进行测试。

这是一个显示问题的示例

这将返回整套文档,而不是像我预期的那样返回最后两个

输出:

所以在这里我的问题是为什么 lucene(在这种情况下是 Zend_Lucene)匹配第一个文档,我认为Keyword字段没有被标记。

PS:对于那些可能想知道我为什么要运行这个测试的人。我有一个带有一些数据库的电子商务网站,类别表有一些路径字段。例如,一个类别可能有这个路径“/1/2/3”,这意味着它是 id 为 3 的类别,父类别是索引 2 等等......

问题是当用户进行全文搜索并指定一个类别时,理想情况下我想返回该类别的结果,但也希望返回子类别,所以我需要一种 lucene 方式来执行路径 LIKE '/1/2%'。

另一种可能性是合并来自 SQL 查询和 lucene 命中的结果,如果可能的话,我想避免这种情况,因为它可能表现不佳。

如果您有任何想法,欢迎您。

0 投票
1 回答
440 浏览

geospatial - 地理空间索引的高效、独立于数据库的 PHP 实现?Zend_Search_Lucene 扩展?

我将纬度/经度信息存储在 MySQL 数据库中,该数据库没有很好的地理空间搜索支持。我已经为高效的全文搜索维护了一个单独的 Lucene 文本搜索索引,所以我查看了 Lucene 的地理空间扩展;但它似乎只适用于 Java 实现,而不是我使用的 Zend_Search_Lucene PHP 版本。

是否有类似的东西可以让我维护一个单独的、独立于数据库的地理空间索引?PHP 或类似的 R-Tree 变体的良好实现?Zend_Search_Lucene 的地理空间扩展?

它需要允许有效的地理空间查询,主要是 x 半径内和边界框 y 内查询,并返回数据库中条目的 id。

0 投票
4 回答
1118 浏览

php - Zend_Search_Lucene 的替代品?

我想知道是否有任何其他库或模块可以替代 Zend_Search_Lucene。

0 投票
2 回答
3752 浏览

zend-framework - lucene 文本搜索的无效字符

在我的 IndexController 我有

我收到错误

和变量

包含从维基百科复制的文本数组,我收到字符错误 - (不是 - )和 ö 我收到错误(我相信)。我在Lucene foreign chars question 得到了相关的类似问题,它没有解释在哪里做什么。如果我知道在哪里做什么以及一点解释,我将不胜感激

更新::iconv