solr7安装(1)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 安装和配置solr

solr7

安装

我选了7.4.0最新的,
网上还有很多人用5或者6的,因为分词不支持什么的,其实是支持的,都有了。
另外不同版本确实安装步骤不是完全一样。

  • 下载和配置 tomcat和jdk
  • 配置
    1、解压 solr-7.4.0.tgz 换个名字叫solr7

2、将server/solr-webapp/webapp 重新命名solr,并复制到tomcat/webapps下面
3、tomcat/webapps/solr/WEB-INF 下建立一个文件夹 classes
4、新建一个文件夹,不要中文目录,用来做solrHome,也就是solrCore的实例存放位置,我就建在solr7下面
mkdir solr_home
5、tomcat/webapp/solr/WEB-INF/web.xml 配置solr/home 吧注释去掉,然后路径改掉

    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/usr/local/api/solr7/solr_home</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

6、 复制server/resource/log4j.properties 到刚刚建立的classes 文件夹
其实是log4j2.xml
7、把solr7/server/lib/ext/ 下的jar包复制到tomcat/webbapps/solr/WEB-INF/lib/中
8、把solr7/dist下面的jar包也复制过去
9、solr7/server/lib下面的metrics开头的也复制过去
10、将 /webapps/solr/WEB-INF 下面的 web.xml 最尾巴上的

好了,启动tomcat ,(别忘了可能要改端口)
浏览器打开 http://127.0.0.1:8080/solr/admin.html
如果没权限,是security-constraint 没有删的原因

点击【core admin 】
添加一个core ,我就默认new_core
在solr7/solr_home 下新建 new_core (solr自己建的,不需要自己mkdir)
会报找不到solrconfig.xml ,下一步帮你找到

11、把solr7/server/solr/configsets/sample_techproducts_configs/conf/ 复制到 solr7/solr_home/new_core
(solr_home下面也有configsets,复制带过来的)

好了,现在回报找不到elevate.xml
这个文件在new_core里面,放到conf或者data里面(conf并没有,就放data下)

12、solr7/server/solr/solr.xml 复制到solr7/solr_home下

【重启】tomcat
应该没有报错了

分词

下载https://github.com/magese/ik-analyzer-solr7
自己maven打包 成 ik-analyzer-solr7-7.x.jar
tomcat/webapp/solr/WEB-INF/lib里面。
(千万不要复制到tomcat/lib中,这样会找不到lucene的类)

添加 vi solr7/solr_home/new_core/core1/conf/managed-schema 尾巴上

    <fieldType name="text_ik" class="solr.TextField">
        <analyzer type="index" useSmart="false"
            class="org.wltea.analyzer.lucene.IKAnalyzer" />
        <analyzer type="query" useSmart="true"
            class="org.wltea.analyzer.lucene.IKAnalyzer" />
    </fieldType>

页面咋操作,见https://www.cnblogs.com/zhuxiaojie/p/5764680.html 我就不贴图了

域的定义 field

具体使用和语法,看其他blog,这边不再复制一遍

但是我困惑了很久,到底是个啥东西,title就可以,title1就不行,我也没配过,
后来发现managed-schema (老版本schema.xml) 预设了很多字段
id,name,context。。。。。很多
title1 不行,是因配置文件里面没有,-_-||

dataimport 数据库

mysql-connector-java-5.1.42.jar 放到
/usr/local/api/tomcat8-10080-solr/webapps/solr/WEB-INF/lib
还有solr/dist/ 下面的solr-dataimporthandler-7.4.0.jar 也放过去

<requestHandler name="/dataimport" class="solr.DataImportHandler">
      <lst name="defaults">
            <str name="config">data-config.xml</str>
      </lst>
  </requestHandler>
<dataConfig>
    <!-- 这是mysql的配置,学会jdbc的都应该看得懂 -->
    <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/solr/useUnicode=true&amp;characterEncoding=utf-8" user="bbtang" password="bbtang"/>
    <document>
        <!-- name属性,就代表着一个文档,可以随便命名 -->
        <!-- query是一条sql,代表在数据库查找出来的数据 -->
        <entity name="product" query="select * from products">
            <!-- 每一个field映射着数据库中列与文档中的域,column是数据库列,name是solr的域(必须是在
            **managed-schema**文件中配置过的域才行) -->
            <field column="pid" name="id"/>
            <field column="name" name="product_name"/>
            <field column="catalog" name="product_catalog"/>
            <field column="catalog_name" name="product_catalog_name"/>
            <field column="price" name="product_price"/>
            <field column="description" name="product_description"/>
            <field column="picture" name="product_picture"/>
        </entity>
    </document>
</dataConfig>

ps: xml里面 &要写成 &amp;

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8月前
|
存储 缓存 JavaScript
在 Vue 中使用 computed 和 watch 时,性能问题探讨
本文探讨了在 Vue.js 中使用 computed 计算属性和 watch 监听器时可能遇到的性能问题,并提供了优化建议,帮助开发者提高应用性能。
|
8月前
|
Kubernetes 持续交付 开发者
探索并实践Kubernetes集群管理与自动化部署
探索并实践Kubernetes集群管理与自动化部署
200 1
|
9月前
|
存储 边缘计算 安全
5G 边缘计算的安全保障:构建可信的边缘智能
5G 边缘计算的安全保障:构建可信的边缘智能
282 0
|
10月前
|
IDE 开发工具 Python
8-15| _ctypes.COMError: (-2147352567, '发生意外。', ('无法获取 Document 对象', 'AutoCAD', 'D:\\Program Files\\A
8-15| _ctypes.COMError: (-2147352567, '发生意外。', ('无法获取 Document 对象', 'AutoCAD', 'D:\\Program Files\\A
|
存储 弹性计算 数据库
阿里云服务器租用收费价格参考,弹性裸金属服务器架构云服务器收费价格表
弹性裸金属服务器架构阿里云服务器有计算型弹性裸金属服务器ebmc7、内存型弹性裸金属服务器ebmr7、AMD计算型弹性裸金属服务器ebmc7a、通用型弹性裸金属服务器ebmg6等实例规格可选,不同实例规格的租用收费价格是不一样的,本文为大家汇总了目前基于弹性裸金属服务器架构下的各个实例规格的阿里云服务器收费标准,以供参考。
阿里云服务器租用收费价格参考,弹性裸金属服务器架构云服务器收费价格表
|
11月前
|
数据库连接 开发者 Python
从 Flask 迁移到 FastAPI,这简直是一场奇妙之旅!性能飙升,代码更优,快来感受这份惊喜!
【8月更文挑战第31天】作为一名开发者,从 Flask 迁移至 FastAPI 是一次充满挑战与收获的旅程。起初,Flask 的简洁性和灵活性吸引了我,但随着项目扩展,其性能局限性和较弱的类型提示支持逐渐显现。FastAPI 结合了 Flask 的简洁性和 Django 的强大功能,具备高性能、类型提示支持及自动文档生成等优势,更适合构建现代化 Web 应用。尽管迁移过程中需对现有代码进行调整,以适应 FastAPI 的类型提示和依赖注入机制,但最终应用性能和代码可维护性均显著提升,整个过程也大大提升了我的开发技能。
260 0
|
12月前
|
文字识别 算法
印刷文字识别使用问题之怎么实现作业自动批改
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
Docker 容器
waiting for docker daemon: failed to start docker engine: dockerd failed to start: exit status 1
waiting for docker daemon: failed to start docker engine: dockerd failed to start: exit status 1
182 0
|
前端开发 Java 数据管理
Spring MVC 工作原理解析
Spring MVC 工作原理解析
217 0
|
存储 关系型数据库 MySQL
分库分表:存量1亿,日增量500万如何分库分表?
分库分表:存量1亿,日增量500万如何分库分表?
252 0