solr入门
- 创建一个新的tomcat更改他的端口号,将solr包放进webapp中,运行tomcat将其编译发布。
- 将example/solr,更改其名字solrhome,要求目录没有中文。修改webapp下solr的web.xml
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>F:\solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
solr在需要的时候回找到solrhome
注意
- 文档和索引的增加和修改必须要有id,主键域,没有就会报错。
- 域名和类型必须先定义后使用,如果没有定义就会报错。
- 域的分类
普通域:string long 等
<field name="manu_exact" type="string" indexed="true" stored="false"/>
动态域:起到模糊匹配的效果,可以模糊匹配没有定义过的域名。
例如:xxx这个域名没有定义,但是yxxx_s这个域名模糊匹配了*s这个域所以详单于xxx_s这个域定义了。
<dynamicField name="*_is" type="int" indexed="true" stored="true" multiValued="true"/>
主键域:<uniqueKey></uniqueKey>一般主键域就用默认的这个不需要修改或者添加
<uniqueKey>id</uniqueKey>
复制域:主要用于从多个域中查询,这样可以从多个域中复制到某一个的域中,然后搜索的时候从这个统一的域中查询。
<copyField source="cat" dest="text"/>
- solrhome就是solrhome就是最核心的目录,一个solrhome可以有多个solr实例
- solarcore 就是solr的实例,solar中实例和实例之间他们的索引库和文档是相互隔离的每个实例对外单独的提供文档和索引的增删该查。