下载地址:https://www-us.apache.org/dist/lucene/solr/ 解压下载的压缩包放到自己指定的位置即可完成Solr安装。在命令行中路径切换到solr目录的bin下,执行启动命令即可启动solr。(Solr默认端口为8983)
启动停止Solr
#后台启动Solr服务器,默认端口8983,默认主目录server/solr solr start #前台启动Solr服务器 solr start -f #SolrCloud模式启动Solr,如果-z没有指明或ZK_HOST没有在solr.in.cmd中定义,默认使用一个端口为Solr port+1000的嵌入式Zookeeper实例。 solr start -c 或者 solr start -cloud #指定Solr服务器实例的host名 solr start -h mysolr #指定solr http监听端口, solr start -p 8984 #指明Solr服务的目录,默认是server solr start -d dir/ #指明Zookeeper的Host solr start -z 192.168.1.198:22222 #指定内存的最大和最小使用量。如-m 4g代表-Xms4g -Xmx4g solr start -m 4g #指定主目录路径 solr start -s evendir/ #指定索引存储路径 solr start -t dir/ #停止solr服务器 solr stop -p port #停止所有solr服务器 solr stop -all
创建内核
#创建内核 solr create -c corename #指定配置文件目录 solr create -c corename -d confdir/ #指定solr服务器的监听端口 solr create -c corename -p 8983 #支持详细输出级别 solr create -c corename -v info
删除内核
#删除内核 solr delete -c corename #删除内核时把Zookeeper上的配置也一起删除,布尔类型,默认为true solr delete -c corename -deleteConfig 0 #删除指定端口的内核,如果没有指定,则会搜索本地系统正在运行的solr实例,用第一个找到的实例的端口 solr delete -c corename -p 8985 #打印详细信息 solr delete -c corename -v info
转自:Solr7.7安装,配置中文分词 IKAnalyzer分词https://www.cnblogs.com/caleyun/p/10455985.html
下载中文分词器IKAnalyzer,下载地址https://pan.baidu.com/s/18J-ssX2IALz87oZYvjFzvw,密码:igt9。
1. 解压压缩包包,将ik-analyzer-7.7.0.jar包放入/soft/solr-7.7.0/server/solr-webapp/webapp/WEB-INF/lib/目录下
2. 将resources目录下的5个配置文件放入soft/solr-7.7.0/server/solr-webapp/webapp/WEB-INF/classes/目录下:
① IKAnalyzer.cfg.xml
② ext.dic
③ stopword.dic
④ ik.conf
⑤ dynamicdic.txt
3. 配置Solr的managed-schema,添加ik分词器,示例如下;
<!-- ik分词器 --> <fieldType name="text_ik" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>
<?xml version="1.0" encoding="UTF-8" ?> <dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/solr_test" user="root" password=""/> <document> <entity name="user" query="select * from user"> <field column="id" name="id"/> <field column="age" name="age"/> <field column="name" name="name"/> <field column="hobby" name="hobby"/> </entity> </document> </dataConfig>2. 用solr添加数据库字段对应的索引字段,其中type指定分词方式,在查询时会按type指定的方式处理。其中后4个字段是core初始化自带的(不能重复添加,可以将数据库字段存为其他名字)。在可视化界面添加后打开managed-schema文件会看到:
<field name="name" type="text_ik" indexed="true" stored="true"/> <field name="age" type="pint" indexed="true" stored="true"/> <field name="hobby" type="string" indexed="true" stored="true"/> <field name="_root_" type="string" docValues="false" indexed="true" stored="false"/> <field name="_text_" type="text_general" multiValued="true" indexed="true" stored="false"/> <field name="_version_" type="plong" indexed="false" stored="false"/> <field name="id" type="string" multiValued="false" indexed="true" required="true" stored="true"/>在添加field时如果选中uninvertible,在查询时需要分词完全匹配该字段的内容。
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">my-data-config.xml</str> </lst> </requestHandler>将solr_home\dist 目录下的solr-dataimporthandler-7.5.0.jar和MySQL驱动(随便找个MySQL驱动)复制到solr_home\server\solr-webapp\webapp\WEB-INF\lib 目录下。重启solr服务,在可视化界面下通过 dataimport 导入数据。