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 配置
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会首先对文档数据进行分词,创建索引库和文档数据库。所谓的分词是指:将一段字符文本按照一定的规则分成若干个单词。