solr全文检索(第二篇 solr的实例)--源自技术
来源:互联网 发布:html标签中使用js变量 编辑:程序博客网 时间:2024/05/18 03:09
这里我使用的数据库是MySQL,首先集成MySQL
1.创建表
- -- ----------------------------
- -- Table structure for `documents`
- -- ----------------------------
- DROP TABLE IF EXISTS `documents`;
- CREATE TABLE `documents` (
- `id` int(11) NOT NULL auto_increment,
- `date_added` datetime NOT NULL,
- `title` varchar(255) NOT NULL,
- `content` text NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
- -- ----------------------------
- -- Records of documents
- -- ----------------------------
- INSERT INTO `documents` VALUES ('1', '2012-01-11 23:15:59', 'world', 'test1');
- INSERT INTO `documents` VALUES ('2', '2012-01-11 23:16:30', 'hello', 'test');
2. 加入DataImportHandler,在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>
(1)如果出现如下错误的时候,
严重: org.apache.solr.common.SolrException: Error loading class 'org.apache.solr .handler.dataimport.DataImportHandler'
需要在前面添加一段类似这样子的配置:
<lib dir="E:/WindRiver/Solr/apache-solr-3.6.0/dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />
3. 同时在solr/conf目录下面新建data-config.xml
- <dataConfig>
- <dataSource type="JdbcDataSource"
- driver="com.mysql.jdbc.Driver"
- url="jdbc:mysql://localhost:3306/test"
- user="test"
- password="test"
- />
- <document name="documents1" >
- <entity name="documents"
- query="select id,title,content,date_added from documents"
- deltaImportQuery="select id,title,content,date_added from documents where ID='${dataimporter.delta.id}'"
- deltaQuery="select id from documents where date_added > '${dataimporter.last_index_time}'"
- deletedPkQuery="select id from documents where id=0">
- <field column="id" name="id" />
- <field column="title" name="title" />
- <field column="content" name="content" />
- <field column="date_added" name="date_added" />
- </entity>
- </document>
- </dataConfig>
上面指定了数据库连接路径。
query 用于初次导入到索引的sql语句。
deltaImportQuery 根据ID取得需要进入的索引的单条数据。
deltaQuery 用于增量索引的sql语句,用于取得需要增量索引的ID。
deletedPkQuery 用于取出需要从索引中删除文档的的ID。
4.在schema.xml中指定索引类型
- <field name="id" type="string" indexed="true" stored="true" required="true" />
- <field name="title" type="text" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true"/>
- <field name="content" type="text" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true"/>
- <field name="date_added" type="date" indexed="false" stored="true"/>
- <p> </p>
(1)遇到如下错误
严重: org.apache.solr.common.SolrException: undefined field text
需要添加一段
<field name="text" type="text_general" stored="false" indexed="true" multiValued="true"/>
<defaultSearchField>text</defaultSearchField>
<copyField source="title" dest="text"/>
<copyField source="content" dest="text"/>
5.执行URL
http://localhost:8080/solr/dataimport?command=full-import- solr全文检索(第二篇 solr的实例)--源自技术
- solr全文检索(第三篇 数据导入)--源自技术
- solr全文检索(第一篇 安装测试)--源自技术
- 全文检索技术--solr
- 全文检索技术---solr
- 全文检索技术 solr(三)solr安装、启动
- solr全文检索应用实例
- 全文检索技术—Solr
- Lucene技术---Solr实现全文检索技术
- Solr全文检索介绍
- 全文检索solr
- 网站全文检索--Solr
- solr中文全文检索
- solr 全文检索服务器
- solr全文检索
- 使用Solr构建企业级的全文检索(一)---------开篇
- 图解全文检索SOLR的酷应用[Ajax Solr]
- 使用solr搭建你的全文检索
- Qt之拖放
- 网站接入QQ登录
- http的状态码 300-301-302-303-304-305-307
- Cocos2d-lua自动重新加载SpriteFrames
- java.lang.ClassCastException~android.widget.ImageView cannot be cast to android.widget.Button~
- solr全文检索(第二篇 solr的实例)--源自技术
- 拍照(从本地获取存储在SD卡中)
- jsp ,servlet中session ,Cookie 相关知识
- 【翻译】Xibo官方文档12-Layout-Region
- 算法系列之十四:狼、羊、菜和农夫过河问题
- 排序算法-选择排序 Selection Sort
- xmpp 视频
- 因为我是姑娘,所以不想像你一样安逸生活
- 初始化配置AndroidStudio(个人珍藏)