在Ubuntu 14.04上安装Solr的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

简介

Solr 是基于 Apache Lucene 的搜索引擎平台。它用 Java 编写,并使用 Lucene 库来实现索引。可以通过各种 REST API(例如 XML 和 JSON)访问。以下是它们网站上的功能列表:

  • 先进的全文搜索功能
  • 针对高流量网站进行优化
  • 基于标准的开放接口 - XML、JSON 和 HTTP
  • 全面的 HTML 管理界面
  • 通过 JMX 公开的服务器统计信息,用于监控
  • 线性可扩展,自动索引复制,自动故障转移和恢复
  • 近实时索引
  • 灵活且可通过 XML 配置进行适应
  • 可扩展的插件架构

在本文中,我将向您展示如何使用两种不同的方法在 Ubuntu 上安装 Solr。第一种方法是简单方法,第二种方法是更高级的方法。我推荐使用第二种方法,因为它可以在所有 Ubuntu 版本上安装更新版本的 Solr,甚至是在撰写本文时最新的版本 14.04。

使用 apt-get 安装 Solr(简单方法)

如果您想以简单的方式安装 Solr,您应该使用本文的这一部分。Solr 不能单独运行;它需要一个 Java servlet 容器,如 Tomcat 或 Jetty。在本文中,我们将使用 Jetty,尽管 Tomcat 也同样简单。首先,我们应该安装 Java JDK。如果您想安装自定义版本,请参阅本文。如果您想进行简单安装,请执行以下命令:

sudo apt-get -y install openjdk-7-jdk
mkdir /usr/java
ln -s /usr/lib/jvm/java-7-openjdk-amd64 /usr/java/default

Ubuntu 默认提供 3 个 Solr 包:solr-common,包含实际 Solr 代码的包;solr-tomcat,集成了 Tomcat 的 Solr;以及 solr-jetty,与 solr-tomcat 类似,但使用 Jetty web 服务器。在本文中,我们将安装 solr-tomcat,因此执行以下命令:

sudo apt-get -y install solr-tomcat

您的 Solr 实例现在应该可以在 http://YOUR_IP:8080/solr 上访问。如果您想配置 Solr,请跳过下一节手动安装的部分。

手动安装 Solr

要手动安装 Solr,您需要花费更多时间。首先,我们应该安装 Java JDK。如果您想安装自定义版本,请参阅本文。在本节中,我们将使用 Jetty 而不是 Tomcat。如果您想进行简单安装,请执行以下命令:

sudo apt-get -y install openjdk-7-jdk
mkdir /usr/java
ln -s /usr/lib/jvm/java-7-openjdk-amd64 /usr/java/default

现在,我们可以开始真正的 Solr 安装。首先,下载所有文件并解压缩它们:

cd /opt
wget http://archive.apache.org/dist/lucene/solr/4.7.2/solr-4.7.2.tgz
tar -xvf solr-4.7.2.tgz
cp -R solr-4.7.2/example /opt/solr
cd /opt/solr
java -jar start.jar

通过访问 http://YOUR_IP:8983/solr 来检查是否正常工作。当它工作时,返回到 SSH 会话并使用 Ctrl+C 关闭窗口。然后打开 /etc/default/jetty 文件(nano /etc/default/jetty)并将以下内容粘贴到其中:

NO_START=0 # Start on boot
JAVA_OPTIONS="-Dsolr.solr.home=/opt/solr/solr $JAVA_OPTIONS"
JAVA_HOME=/usr/java/default
JETTY_HOME=/opt/solr
JETTY_USER=solr
JETTY_LOGS=/opt/solr/logs

保存并打开 /opt/solr/etc/jetty-logging.xml 文件(nano /opt/solr/etc/jetty-logging.xml)并将以下内容粘贴到其中:

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<!-- =============================================================== -->
<!-- Configure stderr and stdout to a Jetty rollover log file -->
<!-- this configuration file should be used in combination with -->
<!-- other configuration files.  e.g. -->
<!--    java -jar start.jar etc/jetty-logging.xml etc/jetty.xml -->
<!-- =============================================================== -->
<Configure id="Server" class="org.mortbay.jetty.Server"><New id="ServerLog" class="java.io.PrintStream"><Arg><New class="org.mortbay.util.RolloverFileOutputStream"><Arg><SystemProperty name="jetty.logs" default="."/>/yyyy_mm_dd.stderrout.log</Arg><Arg type="boolean">false</Arg><Arg type="int">90</Arg><Arg><Call class="java.util.TimeZone" name="getTimeZone"><Arg>GMT</Arg></Call></Arg><Get id="ServerLogName" name="datedFilename"/></New></Arg></New><Call class="org.mortbay.log.Log" name="info"><Arg>Redirecting stderr/stdout to <Ref id="ServerLogName"/></Arg></Call><Call class="java.lang.System" name="setErr"><Arg><Ref id="ServerLog"/></Arg></Call><Call class="java.lang.System" name="setOut"><Arg><Ref id="ServerLog"/></Arg></Call>
</Configure>

然后,创建 Solr 用户并授予其权限:

sudo useradd -d /opt/solr -s /sbin/false solr
sudo chown solr:solr -R /opt/solr

之后,下载启动文件并设置它在尚未完成的情况下自动启动:

sudo wget -O /etc/init.d/jetty http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk/jetty-distribution/src/main/resources/bin/jetty.sh
sudo chmod a+x /etc/init.d/jetty
sudo update-rc.d jetty defaults

最后启动 Jetty/Solr:

sudo /etc/init.d/jetty start

现在,您可以像以前一样访问您的安装,网址为 http://YOUR_IP:8983/solr

为 Solr 配置 schema.xml

首先,将 /opt/solr/solr/collection1 重命名为一个可理解的名称,比如 apples(使用任何你喜欢的名称)。(如果你是通过 apt-get 安装的,可以跳过这一步。 在这种情况下,你可以执行以下命令代替:cd /usr/share/solr):

cd /opt/solr/solr
mv collection1 apples
cd apples

另外,如果你是手动安装 Solr,打开 core.properties 文件(nano core.properties)并将名称更改为相同的名称。

然后,删除 data 目录并更改 schema.xml:

rm -R data
nano conf/schema.xml

在这里粘贴你自己的 schema.xml。Solr 仓库中有一个非常先进的 schema.xml。你可能还可以在互联网上找到更多的 schema.xml,但我不会深入讨论这个。重新启动 Jetty/Tomcat:

对于简单安装:

sudo service tomcat6 restart

对于高级安装:

sudo /etc/init.d/jetty restart

现在当你访问 Solr 实例时,你应该能在某个地方看到仪表板和集合。

结论

你现在已经成功安装了 Solr,并可以开始在你自己的网站上使用它!如果你不知道如何制作 schema.xml,请找一个关于如何做到这一点的教程。然后,找一个与 Solr 连接的编程语言库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1544272.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

柯桥小语种学习之语言交流 | 德语餐厅用语

01 一、入座与点餐 1. Guten Tag! Ein Tisch fr zwei Personen, bitte.&#xff08;你好&#xff01;请给我们一张两人桌。&#xff09; 2. Knnen wir hier sitzen?&#xff08;我们可以坐这里吗&#xff1f;&#xff09; 3. Die Speisekarte, bitte.&#xff08;请给我菜…

在Windows系统上安装的 zlib C++ 库

在Windows系统上安装的 zstd C 库 项目地址步骤步骤一步骤二步骤三如果生成过程中遇到如下错误: 效果 项目地址 https://github.com/madler/zlib 可以发现这个项目有CMakeLists.txt文件,那就比较好搞了 步骤 步骤一 git clone gitgithub.com:madler/zlib.git步骤二 cd zli…

丢失照片/消息/文件,当发现没有备份 Android 手机数据时急救方法

当人们发现他们没有备份 Android 手机数据时&#xff0c;通常为时已晚。但是&#xff0c;我们都不想永久丢失珍贵的照片&#xff0c; 消息和其他文件。这就是为什么您应该检查 遵循 5 大免费 Android 数据恢复工具和最佳替代品 他们。 排名前五的免费 Android 数据恢复软件 1.奇…

黑芝麻A1000-Ubuntu20.04(九)yolov5从训练到板端运行过程详解

宿主机&#xff1a;台式电脑 Ubuntu20.04 开发板&#xff1a;A1000&#xff08;烧录版本SDK v2.3.1.2&#xff09; 模型转换容器&#xff1a;bsnn-tools-container-stk-4.2.0 编译容器&#xff1a;a1000b-sdk-fad-2.3.1.2 yolov5使用工程&#xff1a;黑芝麻根据https://github.…

PHP探索校园新生态校园帮小程序系统小程序源码

探索校园新生态 —— 校园帮小程序系统&#xff0c;让生活更精彩&#xff01; &#x1f331;【开篇&#xff1a;走进未来校园&#xff0c;遇见新生态】&#x1f331; 你是否厌倦了传统校园的繁琐与单调&#xff1f;是否渴望在校园里也能享受到便捷、智能的生活体验&#xff1…

3d可视化图片:通过原图和深度图实现

1、depthy 在线体验demo: https://depthy.stamina.pl/#/ 也可以docker安装上面服务: docker run --rm -t -i -p 9000:9000 ndahlquist/depthy http://localhost:90001)首先传原图 2)再传对应深度图 3)效果 </ifra

网络事件管理

网络事件管理是运行组织 IT 网络不可或缺的一部分&#xff0c;网络事件管理的最终目标很简单&#xff1a;在发生中断时尽快恢复服务或功能。但是为了高效和一致地进行&#xff0c;IT 运营团队需要时刻保持警惕&#xff0c;不断了解网络事件&#xff0c;并且必须系统地遵循一套程…

opencv4.5.5 GPU版本编译

一、安装环境 1、opencv4.5.5 下载地址&#xff1a;https://github.com/opencv/opencv/archive/refs/tags/4.5.5.ziphttps://gitee.com/mirrors/opencv/tree/4.5.0 2、opencv-contrib4.5.5 下载地址&#xff1a;https://github.com/opencv/opencv_contrib/archive/refs/tags/4…

ToB项目身份认证AD集成(二):一分钟搞定window server 2003部署AD域服务并支持ssl加密(多图保姆教程+证书脚本)

在ToB的应用开发中&#xff0c;往往需要集成AD域控实现身份认证&#xff0c;同时也算是近期工作的总结&#xff0c;之前已介绍了基础的AD、Ldap&#xff0c;本文主要介绍如何大家一个本地的测试环境。 相关系列&#xff1a; ToB项目身份认证AD集成&#xff08;一&#xff09;&a…

【JavaSE】-- 类和对象(1)

文章目录 1. 面向对象的初步认知1.1 什么是面向对象1.2 面向对象与面向过程 2. 类的定义和使用2.1 简单认识类2.2 类的定义格式 3. 类的实例化3.1 什么是实例化3.2 类和对象的说明 4. this引用4.1 为什么要有this引用4.2 什么是this引用4.3 this引用的特性 5. 对象的构造及初始…

增强GPT4v的Grounding能力,video-level

开源链接&#xff1a; appletea233/AL-Ref-SAM2: AL-Ref-SAM 2: Unleashing the Temporal-Spatial Reasoning Capacity of GPT for Training-Free Audio and Language Referenced Video Object Segmentation (github.com) In this project, we propose an Audio-Language-Refe…

Spring Boot中实现一个递归获取省市区行政区划代码

Spring Boot中实现一个递归获取省市区行政区划代码 写于20240924 10:23 在Spring Boot中实现一个递归获取省市区行政区划代码的功能&#xff0c;可以按照以下步骤进行。我们将使用Spring Data JPA来与数据库交互&#xff0c;并构建一个递归的方法来获取层级数据。 首先这里数据…

11周年 | 初心不改,焕新前行,奔赴下一个10年!

2024年8月13日&#xff0c;爱加密正式迎来了11岁生日&#xff0c;在爱加密肩负着崇高使命踏浪而行的10年间&#xff0c;蓝绿色的品牌标识一直伴于左右。随着时代的变迁以及市场需求的不断变化&#xff0c;企业同样也需要在品牌上做出创新递进&#xff0c;从而更加适应市场竞争的…

数据科学的秘密武器:defaultdict——Python字典的自动化填充神器,让数据结构更灵活

目录 什么是defaultdict 引入动机 创建与初始化 工作原理 自定义默认值函数 注意事项 使用案例 使用场景 1: 计数 使用场景 2: 分组数据 使用场景 3: 嵌套字典结构 进阶案例使用 进阶案例 1: 使用 defaultdict 实现词频统计并排序 进阶案例 2: 使用 defaultdict 实…

OpenCSG推出StarShip SecScan:AI驱动的软件安全革新

OpenCSG 导读 如今&#xff0c;IT 技术迅速发展&#xff0c;软件安全不仅是企业稳健运营的基础&#xff0c;更是整个社会经济体系安全的保障。加强软件安全&#xff0c;尤其是在开发阶段识别和修补漏洞&#xff0c;是企业必须重视的问题。国际数据公司&#xff08;IDC&#xf…

MyBatis 入门教程-搭建入门工程

Maven作为一个优秀的项目构建和管理工具,在日常的开发中被大多数开发者使用,后续的项目也是基于Maven来构建。 创建一个Maven项目 利用IDEA创建项目工具来创建一个Maven项目 添加MyBatis的依赖 这里可以从Maven仓库地址中进行查看, https://mvnrepository.com/ 从这里可…

反汇编—switch

x64和x86分析类似 标号1的位置要计算出&#xff1a;减去(debug) / 加上(release)第一个case要等于0&#xff0c;因为第一个case在跳转表数组的0下标位置 通过1和2&#xff0c;可以知道它们应该是连续case&#xff0c;还要判断是否缺项&#xff0c;进入跳转表看 可以看到原本应…

经济型伺服电缸EMB系列

经济型伺服电缸系列特点 小型电缸&#xff0c;推力范围:5kg-1500kg 精巧设计 所有部件模块化组合&#xff0c;标准化&#xff0c;经济化 轧制滚珠丝杠&#xff0c;高效率&#xff0c;高速度 匹配经济型步进伺服电机驱动器一体化&#xff0c;可总线 can&#xff0c;erthercat等&…

NAS求变,“0成本、低门槛”的鲁大师能否脱颖而出?

互联网科技的高速发展&#xff0c;推动了全球信息爆炸的进程。如何高效地存储和使用这些海量数据成了困扰企业、乃至个人的一大难题。从U盘、到移动硬盘、再到各种网云盘、以及愈发大众化的NAS……存储解决方案也随着个人及家庭数据存储需求的不断增长而发展着。如今&#xff0…

shardingjdbc-读写分离配置

文章目录 1、application.yml2、shardingsphere.yaml3、创建实体类 User4、创建 UserMapper5、添加依赖6、读写分离测试7、事务测试 我们的主从复制已经提前搭建好&#xff1a; mysql-搭建主从复制&#xff1a;https://blog.csdn.net/m0_65152767/article/details/142214434 1…