1.安装jdk、tomcat
2.解压solr压缩包
3.复制solr/dist的solr.war并部署到tomcat并启动tomcat,
使用tail -f logs/catalina.out查看日志可以看到成功解压
4.源码中example/lib/ext下的日志依赖jar包复制到tomcat的工程中去
pwd查看当前完整路径 复制当前文件夹下的所有文件:cp * path 复制所有到路径中
5.创建solrhome:将example文件夹下的solr复制到tomcat的同级目录并改名为solrhome
需要修改的配置文件是:/solrhome/conllection1/conf/schema.xml和solrconfig.xml
6.修改项目中的web.xml中
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>放入solrhome的路径</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
6.启动tomcat
访问http://192.168.25.3:8040/solr
7.配置中文分析器
IK Analyzer 2012FF_hf1下的三个文件
IKAnalyzer2012FF_u1.jar jar包加入项目的lib文件夹中
两个词典 mydict.dic ext_stopword.dic 一个配置文件 IKAnalyzer.cfg.xml 放入WEB-INF目录下新建的classes文件夹中
修改schema.xml文件,在最后添加name不重复即可
需要自定义一个FieldType。Schema.xml中定义。可以在FieldType中指定中文分析器。
<fieldType name="text_ik">
<analyzer/>
</fieldType>
8.自定义业务域
确定搜索的sql语句
例如:
SELECT
a.id,
a.title,
a.sell_point,
a.price,
a.image,
b.`name` category_name,
c.item_desc
FROM
tb_item a
LEFT JOIN tb_item_cat b ON a.cid = b.id
LEFT JOIN tb_item_desc c ON a.id = c.item_id
WHERE
a.`status` = 1
sql语句
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="long" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="true" />
<field name="item_desc" type="text_ik" indexed="true" stored="false" />
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>
<copyField source="item_desc" dest="item_keywords"/>
schema.xml中插入 SELECT
a.id,
a.title,
a.sell_point,
a.price,
a.image,
b.`name` category_name,
c.item_desc
FROM
tb_item a
LEFT JOIN tb_item_cat b ON a.cid = b.id
LEFT JOIN tb_item_desc c ON a.id = c.item_id
WHERE
a.`status` = 1
根据id删除document:
<delete>
<id>change.me</id>
</delete>
<commit/>
清空索引库:
<delete><query>*:*</query></delete>
<commit/>
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com