使用Solr构建企业级的全文检索(四)---------写入文档

简介:

    前一篇文章介绍了如何定义Solr的Schema,有了数据的结构定义,下来我们就来看看如何写入数据吧。 将文档数据写入到Solr有很多种方式, 你可以使用xml文档,json文档,csv文档,对于这三种方式,你可以在Linux下使用curl方便的导入数据,比如使用xml文档,你可以这样写:

    添加xml文档

   curl http://localhost:8983/solr/update?commit=true -H "Content-Type: text/xml" --data-binary '<add><doc><field name="id">testdoc</field></doc></add>' 

   添加json文档

  curl http://localhost:8983/solr/update/json -H 'Content-type:application/json' -d ' [ {"id" : "TestDoc1", "title" : "test1"}, {"id" : "TestDoc2", "title" : "another test"} ]' 

   当然,你还可以使用DIH(DataImportHandler,这是Solr的一个处理器,用来从其他的异构系统批量导入数据)。

   在windows下如果想要导入文件,可以使用文档例子目录下(example\exampledocs)的Post.jar程序来导入文档,在我们搭建好Solr的环境以后,系统里面还没有任何的文档数据,现在我们就试着使用post.jar程序来导入文档,你可以使用命令行(cmd程序),进入到solr的文档例子目录 (example\exampledocs ),然后输入 java -jar post.jar *.xml ,输入完成后回车,数据就导入到了Solr中。现在我们就可以通过Solr的statistics页面来查看是否已经导入数据,如下图:

 

从图中看到,我们已经导入了17个文档。如果你想查看导入的文档的内容,可以在Solr Admin首页(http://localhost:8983/solr/admin/)的Qeury string中输入"*:*",然后点击Search按钮,你就可以看到我们刚刚导入到系统中的前10个文档的内容。

 上面介绍了几种文档的导入方法,DIH相对比较复杂一点,我们后边专门来讲,除此以外的几种方法,如果测试功能时用一下还好,如果正式的生产环境不可能这样的来做,这时我们就需要一些功能强大一些的客户端,方便我们将Solr的功能引入自己的系统。我们可以访问http://wiki.apache.org/solr/IntegratingSolr这个页面,这个页面上列出来各种应用程序环境中可以使用的客户端,比如Java应用程序可以使用SolrJ,Python可以使用SolrPython,Javascript 可以使用 ajax Solr,而对于.net而言,我个人觉得Solrnet是个不错的选择,后续的文章我也会选择使用Solrnet作为演示用的客户端。下一篇文章我会专门讲一下Solrnet的使用。






本文转自纶巾客博客园博客,原文链接:http://www.cnblogs.com/guanjinke/archive/2012/01/04/2312520.html,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
自然语言处理 JavaScript 前端开发
使用Pagefind为VitePress文档添加离线全文搜索能力
前言 VitePress 相信大家都或多或少听说过或者用过了 默认 UI相比 VuePress2.x 好看,启动速度也快(由Vite驱动,当然VuePress也可以切换构建引擎至Vite) 做内容定制也相对简单,笔者的很多静态文档站点(使用VuePress1.x),文章内容多的时候启动非常的慢,于是就从之前的 VuePress 迁移到了 VitePress,并做了一个博客主题 @sugarat/theme => 之前也有过介绍一个简约风的VitePress博客主题 但是 VitePress 官方目前还没有内置开箱即用的搜索能力(相关PR还在施工中)
|
11月前
|
存储 缓存 达摩院
企查查基于阿里云Elasticsearch 在复杂检索场景中的性能优化
本文分享企查查基于阿里云Elasticsearch 在复杂检索场景中的性能优化。
1037 0
|
新零售 自然语言处理 运维
一文详解 | 开放搜索兼容Elasticsearch做召回引擎
开放搜索发布开源兼容版,支持阿里云Elasticsearch做搜索召回引擎,本文详细介绍阿里云ES用户如何通过接入开放搜索兼容版丰富行业分词库,提升查询语义理解能力,无需开发、算法投入,即可获得淘系同款搜索效果。
1266 0
|
10月前
|
存储 搜索推荐 大数据
大数据数据存储的搜索引擎Elasticsearch的基本操作(含API使用)的基本检索的特殊检索
Elasticsearch还支持一些特殊的查询语言和结构,以更加灵活地搜索数据库中的信息。
150 2
|
10月前
|
存储 搜索推荐 大数据
|
10月前
|
存储 自然语言处理 搜索推荐
大数据数据存储的搜索引擎Elasticsearch的基本操作(含API使用)的文档操作的分词
搜索引擎Elasticsearch是一种流行的大数据存储和分析工具,它可以通过API来进行数据索引、查询和分析等操作。在本文中,我们将会介绍Elasticsearch的文档操作之一:分词。
60 1
|
10月前
|
存储 搜索推荐 大数据
大数据数据存储的搜索引擎Elasticsearch的基本操作(含API使用)的文档操作的同义词
搜索引擎Elasticsearch是一种流行的大数据存储和分析工具,它可以通过API来进行数据索引、查询和分析等操作。在本文中,我们将会介绍Elasticsearch的文档操作之一:同义词。
60 0
|
11月前
|
测试技术 块存储 索引
《Elastic(中国)基础开发宝典》——Elasticsearch优化排序查询,更快获得结果
《Elastic(中国)基础开发宝典》——Elasticsearch优化排序查询,更快获得结果
|
自然语言处理 Oracle 算法
【大数据开发运维解决方案】Solr5.1+Jcseg分词器安装部署(中英文同义词、停止词配置)
Solr5.1+Jcseg分词器安装部署(同义词、停止词) ############################################################################################### 注意: 本文使用得Solr环境是基于上一篇文章: Linux Solr5.1安装及导入Oracle数据库表数据 搭建得环境基础之上进行得配置测试,如...
【大数据开发运维解决方案】Solr5.1+Jcseg分词器安装部署(中英文同义词、停止词配置)
|
存储 JSON 自然语言处理
40-微服务技术栈(高级):分布式搜索引擎ElasticSearch(DSL语法、搜索结果[排序/分页/高亮]处理)
在前面的学习中,笔者带领大家完成海量数据导入ES,实现了ES基本的存储功能,但是我们知道ES最擅长的还是搜索、数据分析。所以本节笔者将继续带领大家研究一下ES的数据搜索功能,同上节一样,继续分别采用DSL和RestClient实现搜索。
89 0