学而不思则罔,思而不学则殆,总是看文档不动手效果是不好的。没有实地的从自己的数据库获取数据测试一下始终是空,总结一下自己的操作步骤吧。

第一步准备配置文件

  E:\Solr\server\solr\configsets\_default\conf放置一个数据结构文件db-data-config.xml,内容如下

<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文件,用于数据导入的处理程序,增加如下配置:

<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文件,创建数据类型(用中文分析器)增加如下配置:

<!-- ChineseAnalyzer -->
<fieldType name="solr_cnAnalyzer" class="solr.TextField" positionIncrementGap="">
<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和返回内容的编码和解码):

 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();
}

  

Solr学习笔记2(V7.2)---导入自己的数据的更多相关文章

  1. Solr学习笔记1(V7.2)

    下载压缩包http://archive.apache.org/dist/lucene/,解压后放到某一盘符下面 Windows下启动命令 :\solr-7.2.0>bin\solr.cmd st ...

  2. Solr学习笔记之3、Solr dataimport - 从SQLServer导入数据建立索引

    Solr学习笔记之3.Solr导入SQLServer数据建立索引 一.下载MSSQLServer的JDBC驱动 下载:Microsoft JDBC Driver 4.0 for SQL Server ...

  3. Solr学习笔记之2、集成IK中文分词器

    Solr学习笔记之2.集成IK中文分词器 一.下载IK中文分词器 IK中文分词器 此文IK版本:IK Analyer 2012-FF hotfix 1 完整分发包 二.在Solr中集成IK中文分词器 ...

  4. Solr学习笔记之1、环境搭建

    Solr学习笔记之1.环境搭建 一.下载相关安装包 1.JDK 2.Tomcat 3.Solr 此文所用软件包版本如下: 操作系统:Win7 64位 JDK:jdk-7u25-windows-i586 ...

  5. Solr学习笔记之5、Component(组件)与Handler(处理器)学习

    Solr学习笔记之5.Component(组件)与Handler(处理器)学习 一.搜索篇 拼写检查(spellCheck) 作用:用来检查用户输入的检索内容是否存在,如果不存在则给它提示出相近或相似 ...

  6. Solr学习笔记之4、Solr配置文件简介

    Solr学习笔记之4.Solr配置文件简介 摘自<Solr in Action>. 1. solr.xml – Defines one or more cores per Solr ser ...

  7. solr学习笔记-入门

    solr学习笔记 1.安装前准备 solr依赖java 8 运行环境,所以我们先安装java.如果没有java环境无法启动solr服务,并且会看到如下提示: [root@localhost solr- ...

  8. 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展

    <Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...

  9. EF学习笔记(八):更新关联数据

    学习笔记主目录链接:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 上一篇链接:EF学习笔记(七):读取关联数据 本篇原文链接:Updating Related Data 本篇主要考 ...

随机推荐

  1. 发布 Google Chrome插件教程

    换个视角,世界不一样.嘘~~~ 如果你会使用js的话,那么你就可以自己动手写一个chrome插件,而且非常容易.google是一个全球化的平台,想想自己的程序被世界人民所使用,是不是很激动? 注册开发 ...

  2. Oracle添加记录的时候报错:违反完整性约束,未找到父项关键字

    今天需要向一个没有接触过的一个Oracle数据库中添加一条记录,执行报错: 分析: 报错的根本原因:未找到父项关键字的原因是因为你在保存对象的时候缺失关联对象. 问题的解决思路:先保存关联对象后再保存 ...

  3. Java订单功能模块设计与实现

    在商城项目中,之前我们介绍了购物车功能模块的实现,商品加入到购物车之后,就是到购物车结算,然后显示购物车的商品列表,点击去结算,然后到了未提交前的订单列表, 点击提交订单后,生成此订单,返回订单的订单 ...

  4. Python爬虫通过替换http request header来欺骗浏览器实现登录

    以豆瓣为例,访问https://www.douban.com/contacts/list 来查看自己关注的人,要登录才能查看. 如果用requests.get()方法获取这个http,没登录只能抓取回 ...

  5. 用C#实现微信“跳一跳”小游戏的自动跳跃助手

    一.前言: 前段时间微信更新了新版本后,带来的一款H5小游戏“跳一跳”在各朋友圈里又火了起来,类似以前的“打飞机”游戏,这游戏玩法简单,但加上了积分排名功能后,却成了“装逼”的地方,于是很多人花钱花时 ...

  6. 命令行执行Django脚本的方法

    update.py import os import sys import django sys.path.append(r'C:\Users\Administrator\PycharmProject ...

  7. 2017 年终总结 & 2018 年度计划

    不立几个 Flag,都不知道怎么作死 2017 年度计划完成情况: 1.健身时间不少于350天:  未完成 中断了22天,实际运动 343天   2.至少每个月看一本书:  及格 <切尔诺贝利的 ...

  8. IO流之字节流知识总结

    IO流分为字符流和字节流. 字节流;可以读取任何文件,电脑以字节的方式储存 字符流:用来读取字符. 下面是我总结的思维导图. 相关练习代码 public class Demo { @Test publ ...

  9. js生成word中图片处理

    首先功能是要求前台导出word,但是前后台是分离的,图片存在后台,所以就存在跨域问题. 导出文字都是没有问题的(jquery.wordexport.js),但是导出图片就存在问题了: 图片是以链接形式 ...

  10. Spring Boot快速入门(三):依赖注入

    原文地址:https://lierabbit.cn/articles/6 spring boot使用依赖注入的方式很简单,只需要给添加相应的注解即可 @Service用于标注业务层组件 @Contro ...