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

2019-03-27 01:11|来源: 网路

    前一篇文章介绍了如何定义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

相关问答

更多
  • Flex 3 Cookbook中文版 作者: (美)诺布尔,(美)安德森 著,肖娜,董龙飞 译 出版:电子工业出版社2 出版日期:2009年04月 Flex技术可以分为UI技术、数据技术和 服务器端技术三大部分。本书覆盖了Flex应用 开发者可能遇到的绝大部分技术主题,包括:如何使用各类Flex组件;如何使用视图状态、 样式单、特效以及拖拽技术进行美化设计和加强应用;如何在客户端处理诸如集合 数组、XML数据等;如何应用数据 表格,同时深入介绍了Flex的服务器端技术。本书还特别介绍了如何使用Flex技术开 ...
  • 服务器jboss、tomcat 数据库oracle、db2 WEB框架struts2、spring、hibernate、ejb 网页界面 jquery、ajax、json、jsp、servlet
  • Craiglist上使用MongoDB的存档数十亿条记录。 FourSquare,基于位置的社交网站,在Amazon EC2的服务器上使用MongoDB分享数据。
  • 先从 JAVA web 说起 实际上 java web 涵盖这 企业级 与非企业级 所谓的企业级 只不过是比较大型的 适用于 企业的web端软件开发 而学校所做的只是 web类的网站而已。 如果要打到企业级要求 实际上 会JAVA web 就可以进入当然只是 最底层的初级程序员 如果要想达到 企业稍微较重视的程度 那么就要学会 很多框架 首先是SSH ,SSM 就够了 如果要在网上走 那么就要了解 web分布式架构 会涉及到redis 这类的缓存技术 nignx负载均衡 数据库的 主从复制 ,还有一些 消息 ...
  • 可以,mysql现在已经逐渐成长为一个很成熟的数据库,不光有完善的备份、还原、主从方案。而且还有很多集群方案。 从集群实现方案的多样性来说,mysql已经超越了oracle。而且正常情况下mysql的备份,恢复比oracle更简单,快捷。停机故障修复时间,也比oracle要好的多。。 最重要的是,它是免费的,而且很适合搭建在x86平台上,可以用廉价的服务器提供完善的数据库服务。相比oracle+小型机的成本,简直便宜的要死,不过如果你说要用pc机搭载oracle,那我只能说你应该是不太考虑性能问题的。ora ...
  • 还是按照自己的想法推测下吧,solr是一种分布式搜索引擎技术,主要基于全文检索技术。那么Baidu,Google肯定是基于这种技术的,这个可以肯定。至于淘宝,京东,苏宁易购这样的大型电子商务网站,我觉得应该也是基于全文检索技术——这样的话,应用solr这种分布式搜索引擎技术那就顺理成章了。京东和易购应该是solr,淘宝是不是我就不太清楚了(至少是类似技术吧)。。。以后如果搞商业网站,高并发,高负载,复杂交互,安全性,用户体验——那也得多钻研这种技术了。毕竟数据库有连接上限,这个很蛋疼。
  • 这个就比较负责了,可以用hadoop+hbase+spark/storm进行平台构建,spark用于数据分析和处理、hbase用于将处理后的数据保存、hadoop用于离线分析和原始数据存储,具体的还得结合应用场景
  • 正如您正确地发现这些是Solr 5.x特定功能和DSE 4.8随Solr 4.10.x一起提供。 当DSE更新时,您将能够使用这些新的Solr 5.x功能。 As you rightly found out these are Solr 5.x specific features and DSE 4.8 comes with Solr 4.10.x. You will be able to use these new Solr 5.x features when DSE gets updated.
  • Joomla的官方主持人 ! 项目是Rochen 。 我对cloudaccess.net也有很好的体验 - 他们也专注于Joomla托管。 看看他们并回复我们的反馈意见。 The official host for the Joomla! Project is Rochen. I also had a good experience with cloudaccess.net - they are also focusing on Joomla hosting. Have a look at them and ...