一、背景介绍

    Solr启动并运行之后,并不包含任何数据,在solr的安装目录下的bin目录中,有一个post工具,我们可以使用这个工具往solr上传数据,这个工具必须在命令行中执行,post工具是一个Unix脚本工具,

    没有windows版本(但可以在java程序中调用),我们可以使用SimplePostTool来代替 参考:https://cwiki.apache.org/confluence/display/solr/Post+Tool#PostTool-Windows

  

  二、系统配置:

    SimplePostTool工具是一个jar包(post.jar),在%SOLR_HOME%\example\exampledocs目录下

    这个工具可以直接运行在支持的环境中(包括Windows),使用如下命令运行:

    java -jar example/exampledocs/post.jar

    

    

    我们可以查看帮助以获得该工具的更多信息,如:上传文件(本地或网络文件夹)到Solr服务器、直接向Solr发送命令等,如下图:

    java -jar example/exampledocs/post.jar –h

    java [SystemProperties] -jar post.jar [-h|-] [<file|folder|url|arg> [<file|folder|url|arg>...]]

    

  三、参数介绍

    

      支持的系统属性及其默认值:

        1、-Dc=<core/collection>

        2、-Durl=<base Solr update URL> (overrides -Dc option if specified)

          -Durl=solr的Url地址(如:http://127.0.0.1:8983/solr),该参数会覆盖-Dc参数,以上两个参数必须指定其中的一个,因为必须指定url/core/collection参数

        3、-Ddata=files|web|args|stdin (default=files)  ,该参数指定上传到Solr服务器的数据,默认为files (即文件):

          files:本地资源,在命令行参数中指定文件或文件夹(<file|folder|url|arg>);

          web:网络资源,在命令行参数中指定的URL地址(<file|folder|url|arg>);

          args:命令行参数指定的字符串(<file|folder|url|arg>);

          stdin:标准输入,在命令行中通过”<”符号指定输入流(如文件输入流);

        4、-Dtype=<content-type> (default=application/xml)  文件类型,默认是xml

        5、-Dhost=<host> (default: localhost)  ,solr服务器地址

        6、-Dport=<port> (default: 8983)  ,solr服务器端口默认是8983

        7、-Dbasicauth=<user:pass> (sets Basic Authentication credentials)

        8、-Dauto=yes|no (default=no)  ,SimplePostTool工具是否进入自动模式,自动模式下,会将-Ddata数据转换成相应的内容类型,切会忽略-Dtype参数

          假设D:\work\Solr\solr-6.6.0\doctest目录下有一个文件:index.html

          java -Dauto=no -Dc=gettingstarted -jar post.jar ..\doctest/   

          失败

          

          

          java -Dauto=yes -Dc=gettingstarted -jar post.jar ..\doctest/       

          成功

          

        9、-Drecursive=yes|no|<depth> (default=0):递归

          现在在D:\work\Solr\solr-6.6.0\doctest目录下建一个test文件夹,该文件夹下有一个文件

          执行命令:java -Dauto=yes -Drecursive=no -Dc=gettingstarted -jar post.jar ..\doctest/    没有进行递归,所以只索引了一个文件

          

          执行命令:java -Dauto=yes -Drecursive=yes -Dc=gettingstarted -jar post.jar ..\doctest/    进行了递归,所以索引了2个文件

          

          10、-Ddelay=<seconds> (default=0 for files, 10 for web):延迟,单位是秒

          11、-Dfiletypes=<type>[,<type>,...] (default=xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log) :文件类型

          12、-Dparams="<key>=<value>[&<key>=<value>...]" (values must be URL-encoded):过滤参数

          13、-Dcommit=yes/no (default=yes):自动提交

          14、-Doptimize=yes/no (default=no):优化

          15、-Dout=yes/no (default=no)

    

  四、文件索引

    首先启动solr

    solr start -e cloud -noprompt

    

    1、xml文件索引

      java -Dc=gettingstarted -jar post.jar ..\example\exampledocs\*.xml

      

    2、json文件索引

      java -Dtype=application/json -Dc=gettingstarted -jar post.jar ..\example\exampledocs\*.json

      

    3、CSV文件索引

      java -Dtype=text/csv -Dc=gettingstarted -jar post.jar ..\example\exampledocs\*.csv

      

    4、各种文件索引(包含多种文件)

       java  -Dauto=yes -Dc=gettingstarted -jar post.jar ..\example\exampledocs\*.*

      注意要加上:-Dauto=yes

      

  五、浏览索引文档

    您可以浏览http:// localhost:8983 / solr / gettingstarted / browse索引的文档。 /浏览UI可以让您了解Solr的技术能力如何在熟悉的,尽管有些粗略和原型的交互式HTML视图中进行工作。

  (/浏览视图默认为假设启动的模式和数据是结构化XML,JSON,CSV示例数据和非结构化富文档的全部混合,您自己的数据可能看起来不太理想,尽管/浏览模板是定制的。)

    http://localhost:8983/solr/gettingstarted_shard1_replica1/browse

    

     

Solr6.6.0 用 SimplePostTool索引文件的更多相关文章

  1. Solr6.6.0 用 SimplePostTool索引文件的启示

    本文主要是介绍通过SimplePostTool工具索引文件的结果进行确认,针对不同的文件,索引的结果不同. 1.创建core 首先启动solr,建立名称为data的core,SimplePostToo ...

  2. Solr6.6.0 用 SimplePostTool索引文件 中文乱码

    在用SimplePostTool工具导入CSV文件,文件内容如下: 启动solr ,利用命令导入:java -Dtype=text/csv -Dc=solr_test -jar post.jar .. ...

  3. Solr6.6.0 用 SimplePostTool与界面dataimport索引方式区别

    通过测试发现用SimplePostTool与solr界面dataimport索引数据的结果有如下区别: 1.SimplePostTool索引数据对结构化数据文件索引比较合适,比如csv/json/xm ...

  4. Solr4.8.0源码分析(12)之Lucene的索引文件(5)

    Solr4.8.0源码分析(12)之Lucene的索引文件(5) 1. 存储域数据文件(.fdt和.fdx) Solr4.8.0里面使用的fdt和fdx的格式是lucene4.1的.为了提升压缩比,S ...

  5. Solr4.8.0源码分析(11)之Lucene的索引文件(4)

    Solr4.8.0源码分析(11)之Lucene的索引文件(4) 1. .dvd和.dvm文件 .dvm是存放了DocValue域的元数据,比如DocValue偏移量. .dvd则存放了DocValu ...

  6. Solr4.8.0源码分析(10)之Lucene的索引文件(3)

    Solr4.8.0源码分析(10)之Lucene的索引文件(3) 1. .si文件 .si文件存储了段的元数据,主要涉及SegmentInfoFormat.java和Segmentinfo.java这 ...

  7. Solr4.8.0源码分析(9)之Lucene的索引文件(2)

    Solr4.8.0源码分析(9)之Lucene的索引文件(2) 一. Segments_N文件 一个索引对应一个目录,索引文件都存放在目录里面.Solr的索引文件存放在Solr/Home下的core/ ...

  8. Solr4.8.0源码分析(8)之Lucene的索引文件(1)

    Solr4.8.0源码分析(8)之Lucene的索引文件(1) 题记:最近有幸看到觉先大神的Lucene的博客,感觉自己之前学习的以及工作的太为肤浅,所以决定先跟随觉先大神的博客学习下Lucene的原 ...

  9. Solr6.5.0配置中文分词器配置

    准备工作: solr6.5.0安装成功 1.去官网https://github.com/wks/ik-analyzer下载IK分词器 2.Solr集成IK a)将ik-analyzer-solr6.x ...

随机推荐

  1. InputStream 、 InputStreamReader 、 BufferedReader

    1.InputStream.OutputStream 处理字节流的抽象类 InputStream 是字节输入流的所有类的超类,一般我们使用它的子类,如FileInputStream等. OutputS ...

  2. 【CF edu 27 G. Shortest Path Problem?】

    time limit per test 3 seconds memory limit per test 512 megabytes input standard input output standa ...

  3. http登陆时的密码加密

    系统设计登陆页面的时候,需要谨慎.因为登陆数据是在网络上进行传输,很可能中途被拦截. 最好的登陆是使用https,这样网络传输是安全的.google,baidu,alibaba都使用https的方式. ...

  4. 手一抖误删了根目录 /usr 之后的挽救过程

    一切悲剧来源于写的Shell没有好好检查,执行后把开发机的根目录 /usr 目录给删除了,而且是root执行,众所周知,/usr目录里有大量的应用层程序,删除之后导致大量命令无法使用,如 ssh / ...

  5. [Oracle] 关系型数据库排序算法和数据结构以及关联查询

    关系型数据库排序算法和数据结构以及关联查询 1. Merge sort 理解merge sort算法将有助于更好地理解数据库join操作 - merge join 算法逻辑 将2个有序的大小为N/2的 ...

  6. wchar_t类型的几个函数

    wchar_t是C/C++的字符数据类型,是一种扩展的字符存储方式. 在Windows下,wchar_t占2个字节(byte):在Linux下,wchar_t占4个字节 wchar_t类型主要用在国际 ...

  7. javascript简单拖拽(鼠标事件 mousedown mousemove mouseup)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  8. 3.安装OpenStack-keystone

    安装keystone(控制器上安装) 使用root用户访问数据库 mysql -uroot -ptoyo123 CREATE DATABASE keystone; GRANT ALL PRIVILEG ...

  9. Nginx 兼容IE8

    前言 前段时间由于业务需要,在服务器上新增一个服务专门接收各个门店的业务结算数据,接口文档指明需要使用https协议.这本不是什么问题,因为之前服务器已经有配置过https.但等到服务部署之后才发现这 ...

  10. Java进阶之路,技术要点

    宏观方面 一.JAVA.要想成为JAVA(高级)工程师肯定要学习JAVA.一般的程序员或许只需知道一些JAVA的语法结构就可以应付了.但要成为JAVA(高级)工程师,您要对JAVA做比较深入的研究.您 ...