您的位置:首页 > 其它

solr入门使用教程

2017-05-02 11:24 225 查看
本文将描述如何初步使用solr。至于安装、部署大家可以自行Google或者参考这里:solr环境搭建

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这个字段,包含“名字”这个中⽂文词的记录。如图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: