Zend_Search_Lucene 与 SOLR

2023-12-23

我最近偶然发现了 Lucene 项目的 Zend Lucene 端口。我对 SOLR 有一点经验,所以我想知道它们两者之间有什么区别,特别是从性能和安装方面来看。

据我所知,SOLR 需要在 Web 托管中运行 Tomcat serverlet 才能工作,那么 Zend Lucene 库呢?

我也有点困惑“在 Lucene 之上实现”是什么意思?


Java Lucene 及其对其他语言(包括 Zend Lucene)的所有移植都是搜索图书馆.

这意味着为了使用 Zend Lucene,您必须将其包装在其他 (PHP) 代码中,以便将搜索与应用程序的其余部分集成。代码通常需要管理索引、检索以及 Lucene 的一些日常工作。您可以使用 PHP 函数调用与 Zend Lucene 进行通信。

Solr,OTOH,是一个搜索server构建在 Lucene 之上。这意味着 Solr 实例可以作为独立服务器 Web 应用程序在 servlet 容器(可以是 Tomcat、Jetty 或其他几个此类程序之一)中运行。设置 Solr 服务器比 Lucene 应用程序要容易得多。您可以使用 Solr 做很多事情,而无需编写一行 Java - 只需调整一些 XML 配置文件。设置 Solr 服务器可能只需几分钟。与 Solr 通信的默认方式是使用 HTTP 调用。

因此,基本上 Zend Lucene 安装需要有一个 PHP 服务器以及使用 PHP 库进行正确的索引和检索。 Solr 安装需要运行 Java servlet 容器并将 war 文件部署到其中。

在性能方面,Solr对Lucene缓存等参数进行了很多优化。另外,我相信 Zend Lucene 比 Java Lucene 慢,所以我打赌 Solr 会更快,但这实际上取决于具体的应用程序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Zend_Search_Lucene 与 SOLR 的相关文章

  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入
  • 为什么我的会话仍然存在?

    我一定很愚蠢 因为似乎一件相当明显的事情现在让我完全困惑 我有一个会议 ie SESSION handbag id 在某个时刻 我需要彻底终止这个会话 ie at the start of the page session start el
  • PHP 通过 SSL 连接到 MS SQL

    我想要实现的目标非常简单 我想通过安全连接从 PHP 脚本连接到外部 MS SQL 数据库 然而 这已被证明是有问题的 到目前为止 经过三个小时的研究 我不知所措 客户端的平台是Ubuntu 这意味着我无法使用SQLSRV 安全连接已经在不
  • 获取 YouTube 最高缩略图分辨率

    我想获得 youtube 最高缩略图 maxresdefault jpg 像这个 http i ytimg com vi Cj6ho1 G6tw maxresdefault jpg http i ytimg com vi Cj6ho1 G6
  • 按文件名对 $_FILES 进行排序 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 他俩 如您所知 在新的 HTML5 中 您可以非常轻松地上传多个文件 但我这里的问题是如何按列 名称 对 FILES 数组进行排序 这是
  • PHP MongoDb 驱动程序:如何设置执行代码的超时

    我有以下代码 它在 MongoDb 端执行一段代码 mongoCode new MongoCode Some JS code db gt execute mongoCode array socketTimeoutMS gt 1000000
  • AWS-PHP-SDK / SNS 直接寻址返回错误

    您好 我正在使用 Laravel 4 设置来利用 AWS SNS 向我的 iOS 设备发送推送消息 从 AWS 控制台向我的设备发布命令效果很好 然后我尝试从 PHP sns AWS get sns sns gt publish array
  • 不指定字段名查询Solr

    我是 Solr 的新手 我一定错过了一些东西 我在示例模式中还没有接触太多 我导入了一些示例数据 我也设置了LocalSolr 这似乎运作良好 我的问题只是查询Solr一般来说 我有一份文件 其中name字段设置为tom 我一直在查看配置文
  • 使用 PHP/linux 将文件合并为单个 PDF

    我正在研究如何将多个 PDF 合并为一个 PDF 我正在寻找一个图书馆可靠且坚固尽可能 最好有一个库可以保留书签 鬼脚本 http pages cs wisc edu ghost 可以在保存书签的位置进行连接 但我遇到了麻烦 在一种情况下它
  • 如何在 PHP 的 HTML 页面中显示错误消息?

    我有以下登录表单 login php 其中要求输入用户名和密码
  • 将 cookie 设置为在当天结束时过期

    我想设置一个 cookie 并让它在一天结束时过期 这有效 但 24 小时后过期 setcookie route upgrade voted true time 86400 这不起作用 setcookie route upgrade vot
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • PHP 中标头的使用

    非常简单的问题 这两个 PHP 版本 5 标头调用中哪一个是 最好的 header Not Modified true 304 header HTTP 1 1 304 Not Modified 我很确定第一个是最多价的 但只是好奇如果在 H
  • docker 中的 php Curl 冲突 CURLOPT_FILE 和 CURLOPT_RETURNTRANSFER

    当我使用curl时CURLOPT FILE and CURLOPT RETURNTRANSFER选项 文件为空 没有任何curl错误 fp fopen saveTo w ch curl init fileUrl curl setopt ch
  • 通过互联网IP地址从一台计算机访问xampp到另一台计算机

    我试图从另一台计算机访问我的 xampp 它显示为禁止错误 然后我在 google 上搜索答案 因为他们告诉在 apache 文件夹中的 httpd conf 文件中更改一些设置 如下所示 Order Deny Allow Deny fro
  • 从 Laravel 4 输入生成新数组

    我使用 Input all 从动态生成的表单中获取一些输入 我使用 jQuery 来允许用户添加字段 字段名称为 first names last names 和 emails input 变量现在看起来像这样 array size 4 t
  • PHP 接口有属性吗?

    PHP 中的接口有属性 还是只有方法 您可以在 DocBlock 中为接口声明属性 然后 IDE 将提示接口的这些属性 PhpStorm 会这样做 但这不会强制在实现类中实际实现这些字段 例如 property string passwor
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess
  • 使用 php/regex 验证美国电话号码

    EDIT 我混合并修改了下面给出的两个答案 以形成完整的功能 现在它可以完成我想要的功能 然后是一些 所以我想我会将其发布在这里 以防其他人来寻找同样的东西 Function to analyze string against many p
  • 如何增强solr中的字段

    我已经事先确定了提升 我在 solr 索引中有一个名为boost1 该提升字段的值介于 1 到 10 之间 类似于 google PR 排名 这是应该应用于 solr 中运行的每个查询的提升 这是我的索引中的字段 Id Title Text

随机推荐

  • Scipy.optimize 不等式约束 - 考虑不等式的哪一边?

    我正在使用 scipy optimize 模块来查找最佳输入权重 以最小化我的输出 从我见过的例子来看 我们用单边方程定义约束 然后我们创建一个 不等式 类型的变量 我的问题是优化包如何知道约束中变量的总和是否需要小于 1 还是大于 1 d
  • 退出时关闭 Visual Studio 中的所有文件

    有没有办法在退出时关闭 Visual Studio 中的所有文件 或者 如果不可能 是否可以删除 Visual Studio 在退出时创建的用户项目文件 Windows gt 关闭所有文档文件 gt 退出 或者在项目关闭后手动删除 sou文
  • 如何从 COBOL 中的 COMP-3 字段读取 Java 中的日期?

    我正在尝试使用读取 COBOL 数据文件JRecord http sourceforge net projects jrecord source typ redirect 因为我有一个标题记录和详细记录 所以我用 SPLIT 01 LEVE
  • 当拉取请求更改时取消操作运行

    对于我的项目 我有一个相当长的 github 操作 当创建新的拉取请求时会触发该操作 这些是我使用的触发器 on pull request types opened ready for review labeled 此操作被定义为我的拉取请
  • 为什么 HttpApplication 构造函数被多次调用

    有人可以解释为什么自定义类的构造函数派生自Http应用程序应用程序启动时被调用多次 我的代码结构如下 My Globalglobal asax 中的类派生自定制应用程序 class The 定制应用程序类源自Http应用程序 class T
  • 如何从 CXF/JAX-RS 中的 JSON 响应中删除命名空间前缀?

    我有 CXF 使用 JAX RS 创建的以下响应 ns1 CustomerInformationResponse xsi type ns1 CustomerInformationResponse ns2 code SUCCESS ns1 c
  • 如何更改函数引用的类型?

    Java8 允许我使用方法声明作为任何接口的实现 只要它只包含一个方法 然而 一旦定义 类型就不能更改 My code import java util function IntConsumer public class A interfa
  • boost::asio::yield_context:意外的forced_unwind异常

    我正在尝试为 boost asio 编写自定义异步函数 如下所述here https stackoverflow com questions 24497881 boostasiospawn yield as callback 但是我得到了
  • 如何在 Android 10 中从服务启动 Activity

    我从服务开始活动直到 android P 但是从 android10 谷歌保留了一项限制 即活动不能从后台启动 https developer android com guide components activities backgrou
  • 使用连接字符串时如何设置 knex 连接 ssl 选项

    当我使用连接字符串初始化 knex 时 如何将连接的 ssl 属性设置为 true 同样如何将debug设置为true 我通常会传入一个连接对象 但在这种情况下 我必须使用环境变量中的连接字符串 var database client pg
  • 检测页面上是否显示警报或确认

    有没有办法使用 JavaScript 或 jQuery 来检测是否显示确认框或警报框 如果您想在以下情况下运行一些代码alert 火灾 你可以尝试这样的事情 我只在 Chrome 中进行了测试 所以我不确定浏览器是否支持 Example h
  • C++ 不会安装在 Netbeans 11.0 中

    我是编程初学者 想了解更多关于 C 的知识 我安装了 Netbeans 因为它说它支持 Java 我目前正在学校学习基础知识 和 C 我想出于个人兴趣学习 但是当我尝试创建一个新项目时 我找不到C 所以我按照教程并最终尝试安装该插件 问题是
  • 什么时候在 ThreadPoolExecutor 中指定单独的核心和最大池大小是个好主意?

    我试图理解为 Java 5 的 ThreadPoolExecutor 指定单独的核心和最大池大小的要点 我的理解是 线程数只有在队列已满时才会增加 这似乎有点晚了 至少对于较大的队列 难道我不乐意为任务分配更多数量的线程 在这种情况下我可能
  • 迷失在 NSButton 类型和替代图像中

    我想要一个NSButton带有图像和备用图像 按下按钮时应显示备用图像 我还想通过代码显示备用图像 调用类似 button setSelected YES 这是否可能无需与alternateImage用手财产 无需手动更改按钮的图像即可实现
  • Java:使用 SAXParser 拆分大型 XML 文件

    我正在尝试使用java将一个大的XML文件分割成更小的文件SAXParser 特别是维基百科转储 未压缩时大约有 28GB 我有一个Pagehandler扩展的类DefaultHandler private class PageHandle
  • 在Python中对两个文本文件进行类似SQL的JOIN,有内置的方法吗?

    我必须执行的一项常见任务是对两个文本文件执行类似 SQL 的 JOIN 即 使用在它们之间共享的标识符列上的某种联接 从 左手 和 右手 文件创建一个新文件 有时需要诸如外连接等变化 当然 我可以编写一个简单的脚本来以通用方式执行此操作 但
  • 时间序列预测(最终使用Python)[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 What algorithms exist for time series forecasting r
  • 使用 Perl 使用 sendmail 发送电子邮件

    我正在遵循以下示例这个网站 http www tutorialspoint com perl perl sending email htm使用 Perl 发送电子邮件 代码看起来像这样 my hostname hostname my thi
  • Prometheus 中的increase() 有时会将值加倍:如何避免?

    我发现对于某些图表 我从 Prometheus 获得双精度值 其中应该只是一个 我使用的查询 increase signups count 4m 刮擦间隔设置为建议最大 https stackoverflow com questions 4
  • Zend_Search_Lucene 与 SOLR

    我最近偶然发现了 Lucene 项目的 Zend Lucene 端口 我对 SOLR 有一点经验 所以我想知道它们两者之间有什么区别 特别是从性能和安装方面来看 据我所知 SOLR 需要在 Web 托管中运行 Tomcat serverle