标签归档:solr

solr: Could not start JMX monitoring

删除core重来!

logs/solr.log:Caused by: java.io.IOException: Cannot bind to URL [rmi://noq5ay.s0x.cn/aa]: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:

疑似被攻击

solr init note

cd /usr/local/src/solr-8.5.2/ \
&& ./bin/solr stop -all \
&& rm -f /etc/default/solr.in.sh \
&& rm -f /etc/init.d/solr \
&& rm -rf /usr/local/solr \
&& mkdir /usr/local/solr \
&& rm -rf /mnt/solr \
&& mkdir /mnt/solr \
&& chown solr:solr -R /mnt/solr \
&& chmod 775 /mnt/solr \
&& ./bin/install_solr_service.sh /usr/local/src/solr-8.5.2.zip -d /mnt/solr -i /usr/local/solr -f -s solr -n

Solr ik分词器集成

https://github.com/magese/ik-analyzer-solr

单机版Solr

  1. 将jar包放入Solr服务的JettyTomcatwebapp/WEB-INF/lib/目录下;

  2. resources目录下的5个配置文件放入solr服务的JettyTomcatwebapp/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>
  4. 启动Solr服务测试分词;

    analyzer

  5. IKAnalyzer.cfg.xml配置文件说明:

    名称 类型 描述 默认
    use_main_dict boolean 是否使用默认主词典 true
    ext_dict String 扩展词典文件名称,多个用分号隔开 ext.dic;
    ext_stopwords String 停用词典文件名称,多个用分号隔开 stopword.dic;
  6. ik.conf文件说明:

    files=dynamicdic.txt
    lastupdate=0
    1. files为动态词典列表,可以设置多个词典表,用逗号进行分隔,默认动态词典表为dynamicdic.txt
    2. lastupdate默认值为0,每次对动态词典表修改后请+1,不然不会将词典表中新的词语添加到内存中。lastupdate采用的是int类型,不支持时间戳,如果使用时间戳的朋友可以把源码中的int改成long即可; 2018-08-23 已将源码中lastUpdate改为long类型,现可以用时间戳了。
  7. dynamicdic.txt 为动态词典

    在此文件配置的词语不需重启服务即可加载进内存中。 以#开头的词语视为注释,将不会加载到内存中。

org.apache.solr.common.SolrException: Exception writing document id 663b167f2d661568 to the index; possible analysis error: cannot change DocValues type from SORTED_SET to NUMERIC for field “is_original”

org.apache.solr.common.SolrException: Exception writing document id 663b167f2d661568 to the index; possible analysis error: cannot change DocValues type from SORTED_SET to NUMERIC for field "is_original"

我这里修改tints类型为tint类型,导致新数据无法写入,字段删除完毕了,也reload了没有,只要清理的数据才行

<delete><query>*:*</query></delete>
<commit/>

solr内存配置,solr时区配置

配置文件位置:/etc/default/solr.in.sh

配置内存
SOLR_JAVA_MEM=”-Xms1g -Xmx6g
这两个配置分别为最小内存和最大内存
配置時區
SOLR_TIMEZONE=”Asia/Shanghai”

其他配置
SOLR_PID_DIR=”/mnt/www/solr”
SOLR_HOME=”/mnt/www/solr/data”
LOG4J_PROPS=”/mnt/www/solr/log4j.properties”
SOLR_LOGS_DIR=”/mnt/www/solr/logs”
SOLR_PORT=”8983″

solr-6.4.1 安装笔记

1. 下载、解压
wget http://mirrors.hust.edu.cn/apache/lucene/solr/6.4.1/solr-6.4.1.tgz
tar zxf solr-6.4.1.tgz

2. 安装JAVA运行环境
yum install java-1.8.0-openjdk

==========solr 标准安装方法==============

# 准备数据目录和安装目录

# 数据存放目录
mkdir /mnt/www/solr
# 软件安装目录
mkdir /usr/local/solr

#安装软件和服务

./solr-6.4.1/bin/install_solr_service.sh solr-6.4.1.tgz -d /mnt/www/solr -i /usr/local/solr

# 创建core

su - solr -c "/usr/local/solr/solr/bin/solr create -c doufu"

# 启动停止方法(centos 7)

# 先停止solr
su - solr -c "/usr/local/solr/solr/bin/solr stop"
# 启动solr
systemctl restart solr
# 查看solr运行状态
systemctl status solr
# centos6 可用service控制
service solr start/stop/restart

# 访问Web控制台
http://youip:8983/
# 下一步:

solr内存配置,solr时区配置

# misc:

[root@web4 solr]# bin/solr --help

Usage: solr COMMAND OPTIONS
where COMMAND is one of: start, stop, restart, status, healthcheck, create, create_core, create_collection, delete, version, zk

Standalone server example (start Solr running in the background on port 8984):

./solr start -p 8984

SolrCloud example (start Solr running in SolrCloud mode using localhost:2181 to connect to Zookeeper, with 1g max heap size and remote Java debug options enabled):

./solr start -c -m 1g -z localhost:2181 -a “-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044”

Pass -help after any COMMAND to see command-specific usage information,
such as: ./solr start -help or ./solr stop -help