Solr学习笔记2(V7.2)---导入自己的数据
学而不思则罔,思而不学则殆,总是看文档不动手效果是不好的。没有实地的从自己的数据库获取数据测试一下始终是空,总结一下自己的操作步骤吧。
第一步准备配置文件
E:\Solr\server\solr\configsets\_default\conf放置一个数据结构文件db-data-config.xml,内容如下
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<dataConfig> <dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://127.0.0.1:1433;databaseName=szjy" user="sa" password="sasa" /> <document> <entity name="orders" pk="id" query="select id,order_no,accept_name,address,add_time from dt_orders" deltaImportQuery="select id,order_no,accept_name,address,add_time from dt_orders" deltaQuery="select id from dt_orders where add_time > '${dataimporter.last_index_time}'"> <field column="id" name="id" /> <field column="order_no" name="order_no" /> <field column="accept_name" name="accept_name" /> <field column="address" name="address" /> <field column="add_time" name="add_time" /> </entity> </document> </dataConfig>
conf目录下修改solrconfig.xml文件,用于数据导入的处理程序,增加如下配置:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">db-data-config.xml</str> </lst> </requestHandler>
conf目录下修改managed-schema文件,创建数据类型(用中文分析器)增加如下配置:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<!-- ChineseAnalyzer --> <fieldType name="solr_cnAnalyzer" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/> </analyzer> </fieldType>
第二部拷贝jar文件
还有mssql驱动
将如上文件考入E:\Solr\server\solr-webapp\webapp\WEB-INF下
第三步启动solr并创建集合
此时用于生产环境,而不是example了。Windows系统命令:E:\Solr\bin>solr.cmd start -c 其中-c代表cloud模式,默认服务目录为Solr\server,设置 Solr\server\home 系统属性;Solr 将在这个目录下创建核心目录。
可以通过命令创建集合:E:\Solr\bin>solr.cmd create -c orders,也可以打开浏览器http://localhost:8983/solr/ 通过窗口创建集合。
第四步创建架构:
第五步导入数据:
第六步查询测试:按字段查询(如果不想按照自动查询需要创建复制自动,但是这会增加索引文件等一些成本)+高亮显示
查询结果如下
也可以用C#代码查询,本质就是调用solr应用提供的服务(一般可能用java+solr驱动查询,注意URL和返回内容的编码和解码):
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public ActionResult GetSolrData() { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://localhost:8983/solr/orders/select?q=%E5%B7%A5%E4%B8%9A%E5%9B%AD%E5%8C%BA&rows=2&start=5"); request.ContentType = "application/json"; request.Accept = "application/json,text/javascript,*/*,q=0.01"; request.Headers.Add("Accept-Encoding", "deflate,gzip"); request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip | DecompressionMethods.None; using (Stream stream = request.GetResponse().GetResponseStream()) { StreamReader sr = new StreamReader(stream); string str = sr.ReadToEnd(); } //WebClient wcl = new WebClient(); //string strval = wcl.DownloadString("http://localhost:8983/solr/orders/select?q=%E5%B7%A5%E4%B8%9A%E5%9B%AD%E5%8C%BA&rows=2&start=5"); return View(); }
posted on 2018-01-08 14:43 好好学习V天天向上 阅读(1197) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步