在 Drupal 7.x 中集成 Apache Solr 搜索





5.00/5 (2投票s)
初始 Solr 设置:1. 从 http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载最新的 Java JDK。(如果需要,请确保选择 64 位版本。)2.
初始 Solr 设置
1. 从 http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载最新的 Java JDK。(如果需要,请确保选择 64 位版本。)
2. 从 http://archive.apache.org/dist/lucene/solr/1.4.1/ 的一个镜像下载 Solr 1.4.1(撰写本文时,并非所有镜像似乎都在托管 1.4.1,但大多数似乎至少有 1.4.0)。
3. 解压 Solr 下载文件。您应该会看到下图所示的文件。打开“example”文件夹。
4. 将“etc”、“lib”、“logs”、“solr”、“webapps”和“start.jar”文件夹复制到 C:\solr(您需要创建 C:\solr 文件夹)。
5. 现在打开 C:\solr\solr 文件夹,并将内容复制回根目录 C:\solr 文件夹。完成后,您可以删除 C:\solr\solr 文件夹。
6. 至此,您的 C:\solr 目录应包含以下文件夹和文件。
7. 此时,如果您从命令行启动 Solr,它就可以运行了。将目录更改为 c:\solr,然后运行
“java -Dsolr.solr.home=c:/solr/ -jar start.jar”
8. 如果您访问 https://:8983/solr/,您应该会看到“Welcome to Solr”消息。
设置 Jetty 作为 Windows 服务运行(使用 NSSM)
现在 Solr 已经启动并运行,我们可以着手让 Jetty 作为 Windows 服务运行。由于 Jetty 是随 Solr 一起提供的,我们只需要一种方法来将其作为服务运行。有几种方法可以做到这一点,但我发现最有效且在各种 Windows 环境中最兼容的方法是 NSSM – The Non Sucking Service。
1. 下载 NSSM 后,根据需要打开 win32 或 win64 文件夹,并将 nssm.exe 复制到您的 c:\solr 文件夹。
2. 打开一个提升的命令提示符,将目录更改为 C:\solr。然后运行
“nssm install Solr”
3. 将打开一个对话框。将“Application”选择为“java.exe”,位置在“C:\Windows\System32\”。
4. 在“Options”输入框中输入
“-Dsolr.solr.home=C:/solr/
-Djetty.home=C:/solr/ -Djetty.logs=C:/solr/logs/ -cp
C:/solr/lib/*.jar;C:/solr/start.jar -jar C:/solr/start.jar”
重要!如果您复制粘贴上面的行,请务必删除换行符。
5. 点击“Install service”。您应该会收到“Service successfully installed”消息。
6. 最后运行
“net start Solr”
在 Windows 上设置 Apache Maven
1. 从 http://maven.apache.org/download.cgi 下载 Apache Maven。
2. 解压分发归档文件,即 apache-maven-3.1.1-bin.zip 到您希望安装 Maven 3.1.1 的目录。这些说明假定您选择了 C:\maven。
3. 通过打开系统属性,选择“高级”选项卡,然后选择“环境变量”按钮,在系统变量中添加 MAVEN_HOME 变量,其值为 C:\maven。请务必省略路径周围的任何引号,即使它包含空格。注意:对于 Maven 2.0.9,还要确保 MAVEN_HOME 的最后一个字符不是“\”。
4. 在同一个对话框中,在系统变量中添加 MAVEN 环境变量,其值为 %MAVEN_HOME%\bin。
5. 可选:在同一个对话框中,在系统变量中添加 MAVEN_OPTS 环境变量,用于指定 JVM 属性,例如值 -Xms256m -Xmx512m。此环境变量可用于为 Maven 提供额外的选项。
6. 在同一个对话框中,更新/创建系统变量中的 Path 环境变量,并在前面加上 %MAVEN% 的值,以便在命令行中使用 Maven。
7. 在同一个对话框中,确保您的系统变量中存在 JAVA_HOME 或系统变量中存在 JAVA_HOME,并且其设置为您的 JDK 的位置,例如 C:\Program Files\Java\jdk1.5.0_02,并且 %JAVA_HOME%\bin 在您的 Path 环境变量中。
8. 打开一个新的命令提示符并运行 mvn –version 来验证它是否已正确安装。
设置 Apache Tika
1. 从 https://apache.ac.cn/dyn/closer.cgi/tika/tika-1.4-src.zip 下载 Apache Tika。
2. 解压归档文件,即 tika-1.4-src 到您希望安装 Tika 1.4 的目录。这些说明假定您选择了 C:\tika-1.4。
3. 打开一个新的命令提示符并导航到 C:\tika-1.4。
4. 导航到 C:\tika-1.4 后,运行命令:“mvn install”。在基目录中执行以下命令将构建源代码并将生成的构件安装到您的本地 Maven 存储库中。这将需要一些时间。
5. 上述过程完成后,主要关注的目录将是 C:\tika-1.4\tika-app\target。在此目录中,我们将找到一个“tika-app-1.4.jar”文件。
6. 打开一个新的命令提示符并导航到 C:\tika-1.4\tika-app\target\,然后执行命令
“java -jar tika-app-1.4.jar -t [文档路径]“。
例如,我们在“[文档路径]”字段中提供 .pdf 文档的路径。它将在命令提示符界面中显示该 .pdf 文档的内容。这确保了 Apache Tika 工作正常。
7. 要获取 Apache Tika 的 GUI 界面,请打开一个新的命令提示符并导航到 C:\tika-1.4\tika-app\target\,然后执行命令
“java -jar tika-app-1.4.jar -g”。
这将打开 Apache Tika GUI 界面。在那里,我们可以将我们的文档拖放到其中,然后我们可以查看文档的内容。
在 Apache Tika GUI 中,我们可以通过选择一个选项来选择所需的视图模式,该选项列在点击 Apache Tika GUI 界面上的“View”选项卡之后。
设置 Drupal 7.x
1. 下载此 php_uploadprogress.dll 文件。
2. 将 php_uploadprogress.dll 复制到 {PHP_PATH}\ext 文件夹。
3. 打开 php.ini 并添加以下内容
extension=php_uploadprogress.dll
uploadprogress.file.filename_template=”C:\WINDOWS\TEMP\upt_%s.txt”
4. 重启服务器。
5. 安装一份新的 Drupal 7.x 副本。
6. 将以下模块安装到您的 Drupal 安装中。
– **Apache Solr Search**,来自 https://drupal.org/project/apachesolr。
– **Apache Solr Attachments**,来自 https://drupal.org/project/apachesolr_attachments。
7. 打开位于 {DRUPAL_INSTALLATION_PATH}\sites\all\modules\apachesolr\ 的“solr-conf”目录。
然后打开名为“solr-1.4”的目录(因为在本教程中我们使用的是 Apache Solr 1.4.1)。
然后复制以下文件
然后复制完这些文件后,打开 c:\solr\conf\ 并将这些文件粘贴到那里。
它会要求您替换现有文件,然后继续并替换现有文件。
8. 打开一个新的命令提示符并启动 Apache Solr 服务器。
9. 打开您的 Drupal 站点,并在模块部分启用 **Apache Solr framework**、**Apache Solr Search** 和 **Apache Solr Attachments**。
10. 然后转到 DRUPAL_ROOT/admin/config/search/apachesolr 页面,并在 **“Configuration”** 部分选择以下内容。
11. 然后点击 **“Settings”** 选项卡。在那里将显示搜索环境详细信息。由于我们是在本地主机上设置的,将显示 **“localhost server”** 作为默认搜索环境。
然后对于 **“localhost server”**,将在 **“OPERATIONS”** 字段下方显示 **“Edit”** 链接。
点击 **“Edit”** 链接。之后将显示编辑页面。在该页面底部,将有一个标有 **“Test connection”** 的按钮。
点击“Test connection”,您将收到以下消息
此时,我们可以确认我们的 Drupal 站点已成功联系到我们在前面步骤中设置的 Apache Solr 服务器。
12. 然后转到 DRUPAL_ROOT/admin/config/search/apachesolr/attachments。
在 **“Extract using”** 部分,将默认选择 **“Tika(local java application)”**。
在 **“Tika directory path”** 部分,提供指向 **“tika-app-1.4.jar”** 的路径。在这种情况下,其路径将是 **“C:\tika-1.4\tika-app\target\”**
在 **“Tika jar file”** 部分,提供 tika jar 文件的名称。在这种情况下,它将是 **“tika-app-1.4.jar”**。
然后保存所做的配置。
然后,在 **“Actions”** 部分,点击标有 **“Test your tika extraction”** 的按钮。之后,如果我们收到以下消息,
那么我们就成功地将 Apache Tika 集成到了我们的 Drupal 安装中。
13. 创建或编辑一个现有的内容类型,为其添加一个“file”类型的字段。
在 **“Allowed file extentions”** 部分,提及您可以上传的文档文件类型。例如:txt pdf。
14. 然后创建一个以上内容类型的节点,并上传一个文档。
15. 然后转到 DRUPAL_ROOT/admin/config/search/apachesolr
– 然后点击 **“Queue all content for reindexing”** 按钮。
– 之后点击 **“Index all queued content”**。
– 之后,在 **“TYPE”** 和 **“VALUE”** 字段标题下方,“Indexed”值将发生变化,并将显示已创建并由 Apache Solr 索引的节点数量。
16. 然后我们转到我们 Drupal 站点的首页,执行一个关键词搜索,并在“Site”部分进行搜索,它将显示来自上传文档内容的搜索结果。
注意:如果我们想让 Apache Solr 和 Apache Tika 索引大型文件,我们可以进行这个小改动。
– 打开位于 {mysql_path}/bin 的“my.ini”文件
– 将“max_allowed_packet”从“1M”更改为“16M”
– 保存“my.ini”文件
– 现在重启 MySql
CodeProject