solr入门使用教程
2017-05-02 11:24
225 查看
本文将描述如何初步使用solr。至于安装、部署大家可以自行Google或者参考这里:solr环境搭建。
public static void main(String[] args) throws IOException, SolrServerException {
HttpSolrServer server = new HttpSolrServer("http://localhost:8080/solr");
for (int i = 0; i < 1000; ++i) {
SolrInputDocument doc = new SolrInputDocument();
doc.addField("cat", "book");
doc.addField("id", "book-" + i);
doc.addField("name", "The Legend of Po part " + i);
server.add(doc);
if (i % 100 == 0)
server.commit(); // periodically flush
}
server.commit();
}
}
public static void main(String[] args) throws MalformedURLException, SolrServerException {
HttpSolrServer solr = new HttpSolrServer("http://localhost:80/solr");
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("q", "Legend");
params.set("defType", "edismax");
params.set("start", "0");
QueryResponse response = solr.query(params);
SolrDocumentList results = response.getResults();
if(results.size() < 1) System.out.println("没有查到任何数据");
else{
for (int i = 0; i < results.size(); ++i) {
System.out.println(results.get(i));
}
}
}
}
(
userID int auto_increment primary key,
userName varchar(30) not null,
userAge number not null
);
插入数据。
<requestHandler name="/dataimport"
class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test" user="root" password="root" />
<document>
<entity name="id" query="select USERID,USERNAME,USERAGE from
USERINFO">
<field column="USERID" name="id"/>
<field column="USERNAME" name="userName"/>
<field column="USERAGE" name="userAge"/>
</entity>
</document>
</dataConfig>
<field name="userName" type="text_general" indexed="true" stored="true" />
<field name="userAge" type="int" indexed="true" stored="true" />
五、导
到solr的解压包下找到dist目录下的solr-dataimporthandler-4.10.3.jar和solr-dataimporthandler-extras-4.10.3.jar这两个jar包,放到%tomcat%\webapps\solr
\WEB-INF\lib下,同时加入链接驱动mysql-connector-java-5.1.27-bin.jar。
至此完成,启动Tomcat,浏览器输入:http://localhost:80/solr/dataimport?command=full-import进行全量导入。到查询界⾯面,查询userName这个字段,包含“名字”这个中⽂文词的记录。如图:
SolrJ小例子
一、:启动配置好的solr Tomcat,IDEA新建MAVEN项目,添加依赖:
二、新建创建索引类:
public class SolrJDataImporter {public static void main(String[] args) throws IOException, SolrServerException {
HttpSolrServer server = new HttpSolrServer("http://localhost:8080/solr");
for (int i = 0; i < 1000; ++i) {
SolrInputDocument doc = new SolrInputDocument();
doc.addField("cat", "book");
doc.addField("id", "book-" + i);
doc.addField("name", "The Legend of Po part " + i);
server.add(doc);
if (i % 100 == 0)
server.commit(); // periodically flush
}
server.commit();
}
}
三、新建查询类:
public class SolrJSearcher {public static void main(String[] args) throws MalformedURLException, SolrServerException {
HttpSolrServer solr = new HttpSolrServer("http://localhost:80/solr");
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("q", "Legend");
params.set("defType", "edismax");
params.set("start", "0");
QueryResponse response = solr.query(params);
SolrDocumentList results = response.getResults();
if(results.size() < 1) System.out.println("没有查到任何数据");
else{
for (int i = 0; i < results.size(); ++i) {
System.out.println(results.get(i));
}
}
}
}
四、运行项目
solr与数据库同步(DIH)
一、创建表:
create table UserInfo(
userID int auto_increment primary key,
userName varchar(30) not null,
userAge number not null
);
插入数据。
二、配置solrconfig.xml:
打开Solr主目录的conf文件下的solrconfig.xml文件,加⼊一个请求处理理者配置:<requestHandler name="/dataimport"
class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
三、新建data-config.xml:
就在这个同级目录conf文件下新建一个data-config.xml文件,加入如下配置:<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test" user="root" password="root" />
<document>
<entity name="id" query="select USERID,USERNAME,USERAGE from
USERINFO">
<field column="USERID" name="id"/>
<field column="USERNAME" name="userName"/>
<field column="USERAGE" name="userAge"/>
</entity>
</document>
</dataConfig>
四、配置schema.xml:
file域配置数据库表的列列名,到scheme.xml配置文件中配置索引字段名称的映射,在⽂件中加入这几个字段的配置:<field name="userName" type="text_general" indexed="true" stored="true" />
<field name="userAge" type="int" indexed="true" stored="true" />
五、导
4000
入相关的jar包:
到solr的解压包下找到dist目录下的solr-dataimporthandler-4.10.3.jar和solr-dataimporthandler-extras-4.10.3.jar这两个jar包,放到%tomcat%\webapps\solr\WEB-INF\lib下,同时加入链接驱动mysql-connector-java-5.1.27-bin.jar。
至此完成,启动Tomcat,浏览器输入:http://localhost:80/solr/dataimport?command=full-import进行全量导入。到查询界⾯面,查询userName这个字段,包含“名字”这个中⽂文词的记录。如图:
相关文章推荐
- solr入门使用教程
- solr集群的搭建教程和使用入门
- JSP入门初级教程之Actions的使用
- PRADO 2.0.1 快速入门教程 -- 第二章.使用PRADO编程
- 欢迎使用 ASP.NET 入门教程
- phpMyAdmin下载、安装和使用入门教程
- 学习maven的使用,看到一篇很实用的入门教程(菜鸟级入门)
- 使用Visual Studio2005入门asp.Net2.0系列视频教程
- JSP入门初级教程之Actions的使用
- JSP入门初级教程之Session的使用
- 学习maven的使用,看到一篇很实用的入门教程(菜鸟级入门)
- JSP入门初级教程之Session的使用
- vs2005入门视频教程 之 主题和皮肤使用二
- vs2005入门视频教程 之 主题和皮肤使用一 [视频]
- JSP入门初级教程之plugin的使用
- JSP入门初级教程之Actions的使用
- linux入门教程 第3章 rh使用指南
- PHP快速入门教程:WHILE循环的使用示例
- Lex和Yacc入门教程(八).使用堆栈编译语法
- 使用XFire开发WebService入门教程