使用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,如需转载请自行联系原作者
目录
相关文章
|
新零售 自然语言处理 运维
一文详解 | 开放搜索兼容Elasticsearch做召回引擎
开放搜索发布开源兼容版,支持阿里云Elasticsearch做搜索召回引擎,本文详细介绍阿里云ES用户如何通过接入开放搜索兼容版丰富行业分词库,提升查询语义理解能力,无需开发、算法投入,即可获得淘系同款搜索效果。
1578 0
|
7月前
|
索引 搜索推荐 缓存
使用Elasticsearch进行高效全文搜索的技术探索
【6月更文挑战第3天】本文探索了使用Elasticsearch进行全文搜索的技术,它基于Lucene,是一款开源、分布式搜索引擎。核心原理在于倒排索引,实现快速查找。全文搜索涉及安装配置、创建索引、索引文档、执行查询及处理结果。为了优化性能,可以调整索引映射、选择合适分析器、利用缓存及优化硬件配置。Elasticsearch因其高效性和灵活性在大数据时代广泛应用。
268 62
|
6月前
|
运维 监控 Java
在大数据场景下,Elasticsearch作为分布式搜索与分析引擎,因其扩展性和易用性成为全文检索首选。
【7月更文挑战第1天】在大数据场景下,Elasticsearch作为分布式搜索与分析引擎,因其扩展性和易用性成为全文检索首选。本文讲解如何在Java中集成Elasticsearch,包括安装配置、使用RestHighLevelClient连接、创建索引和文档操作,以及全文检索查询。此外,还涉及高级查询、性能优化和故障排查,帮助开发者高效处理非结构化数据。
87 0
|
8月前
|
监控 数据可视化 搜索推荐
初识Elasticsearch:打造高效全文搜索与数据分析引擎
【4月更文挑战第7天】Elasticsearch,一款由Elastic公司开发的分布式搜索引擎,以其全文搜索和数据分析能力在全球范围内广泛应用。它基于Apache Lucene,支持JSON,适用于日志分析、监控等领域。Elasticsearch的亮点包括:精准快速的全文搜索,通过倒排索引和分析器实现;强大的数据分析与实时响应能力,提供丰富聚合功能;弹性扩展和高可用性,适应水平扩展和故障恢复;以及完善的生态系统,与Kibana、Logstash等工具集成,支持多种编程语言。作为大数据处理的重要工具,Elasticsearch在企业级搜索和数据分析中扮演关键角色。
221 1
|
8月前
|
数据采集 自然语言处理 API
Elasticsearch 8.X 路径检索的企业级玩法
Elasticsearch 8.X 路径检索的企业级玩法
51 0
|
存储 搜索推荐 大数据
|
存储 搜索推荐 大数据
大数据数据存储的搜索引擎Elasticsearch的基本操作(含API使用)的基本检索的特殊检索
Elasticsearch还支持一些特殊的查询语言和结构,以更加灵活地搜索数据库中的信息。
178 2
|
机器学习/深度学习 分布式计算 自然语言处理
【搜索引擎选型】Solr vs. Elasticsearch:选择开源搜索引擎
【搜索引擎选型】Solr vs. Elasticsearch:选择开源搜索引擎
|
JSON 监控 搜索推荐
【技术选型】Elasticsearch vs. Solr-选择您的开源搜索引擎
【技术选型】Elasticsearch vs. Solr-选择您的开源搜索引擎
|
搜索推荐 数据可视化 关系型数据库
开源-基于ElasticSearch的通用搜索引擎
开源-基于ElasticSearch的通用搜索引擎
536 0
开源-基于ElasticSearch的通用搜索引擎