http://blog.csdn.net/upxiaofeng/article/details/51425732

Solr 6.0 学习(一)环境搭建

org.apache.catalina.core
.StandardContext.startInternal Context [/solr] startup failed due to previouser
rors

这是什么原因呢?配置都是按照步骤弄的,启动不了

 

在tomcat里面查看log,发现是jdk版本是1.7,必须为1.8以上

 

Solrhome的地址在web.xml中配置。

Solr6.0.1包下的Server下的lib包下的ext包全部引入webapp下的jar包库中,里面包含log的jar包,我理解为是日志文件引入的jar包,所以还需在将【solr-6.0.0\server\resources】下的log4j.properties配置文件拷贝到【apache-tomcat-8.0.33\webapps\solr\WEB-INF\classes】,如果WEB-INF下没有classes文件,那么就创建一个classes文件夹。

Solr6.0.1包下的Server下的solr是solrhome,我理解为solrhome是solr的配置文件。


测试方式可见官网的 solrJ 文档:

https://cwiki.apache.org/confluence/display/solr/Using+SolrJ


Solr 6.0 学习(二)创建core并插入索引

Solrhome中solr.xml是集群配置的文件

 

2、在sorlhome文件夹下创建【my_solr】文件夹。

3、在【my_solr】文件夹中添加core.properties配置,内容如下:

name=my_solr  

创建core

core.properties的配置:

name:core的名称,必填参数

config:用于指定solrconfig.xml配置文件的文件名,默认值是solrconfig.xml

dataDir:指定用于存放lucene索引和log日志文件的目录路径,该路径是相对于core根目录(在单core模式下,就直接是相对于solr_home了),默认值是当前core目录下的data
 ulogDir:用来配置指定事务日志文件路径的,默认值是当前core目录下的data目录下的tlog

schema:即用来配置你的schema.xml配置文件的文件名的,schema.xml配置文件必须存放在当前core目录下的conf目录下

shard:用来设置当前core的分片id,可选参数

collection:用来配置当前core属于哪个solrClound collection,这里配置的是该solrCloundcollection的name值,可选参数

collection:用来配置当前core属于哪个solrClound collection,这里配置的是该solrCloundcollection的name值,可选参数

loadOnStartup:表示是否在solr启动部署的时候就加载core并为当前core创建一个新的IndexSearcher实例

transient:用来设置当Solr的transient-cacheSize阀值达到限制值的时候,是否自动卸载当前core.

 

solr-5.0以上默认对schema的管理是使用managed-schema,不能手动修改,需要使用Schema Restful的API操作。

如果要想手动修改配置,把【conf】文件夹中managed-schema拷贝一份修改为schema.xml,在solrconfig.xml中修改如

 

 

 

 

Solr 6.0 学习(三)Schema.xml 配置

    

  id  

 

 

 indexed: 如果字段需要被索引(用于搜索或排序),属性值设置为true  

      stored: 如果字段内容需要被返回,值设置为true  

 

##################################使用solr遇到一个问题 start############################

solr 在使用查询的时候,【q=city:newyork】 的时候会命中包含new york的所有数据文档并返回。

但是使用中文【q=city:成都】的时候会命中包含成和都的合集,实际上我们需要的是精确查找,查找资料发现,如果想只查找包含【成都】

这个词语的文档,我们需要这样做【q=city:"成都"】必须要添加上引号

##################################使用solr遇到一个问题 end############################

###########################修改schema.xml###################################

将solr发布到tomcat中,例如需要修改schema.xml,添加一个field,这个时候其实是不支持热发布的,需要重启tomcat

 

Solr 6.0 学习(四)中文IK分词

Solr 6.0 学习(六)solr集群

使用master-slave搭建集群(未实验成功,原因是slave的机子无法启动tomcat)

 

Solr 6.0 学习(七) solr创建索引原理

倒排索引

当文档数据来临时,solr会首先对文档数据进行分词,创建索引库和文档数据库。所谓的分词是指:将一段字符文本按照一定的规则分成若干个单词。