尚学堂089天总结+linux

089天
行百里者半九十,想要在一个行业里成为顶尖人才,一定满足一万小时定律,要想学好JAVA,需要持之以恒不断地努力,每天都要勤思考+善于询问+解决问题!

知识温故而知新>>>>>>

一、手动解压安装包:
1、在user目录下新建java文件夹:

# cd /usr/
# mkdir java
# cd java

2.下载jdk1.8,链接可能失效,可以自己去官方上拷贝链接

wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz?AuthParam=1534129356_6b3ac55c6a38ba5a54c912855deb6a22
image.png

3、解压:使用tar -zxvf 文件名进行解压。
解压之后:


image.png

4、配置环境变量:

vi /etc/profile

将如下配置添加至文件中,然后保存退出。

java
export JAVA_HOME=/usr/java/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

5、验证:


image.png

二、yum安装:
1、搜索jdk安装包

yum search java|grep jdk

2、下载jdk1.8,下载之后默认的目录为: /usr/lib/jvm/

yum install java-1.8.0-openjdk
image.png

image.png

3、配置环境变量及验证安装。
三、使用rpm安装:
1、下载rpm的安装包:

wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.rpm?AuthParam=1534132498_e541d098d71f6243516fa69cd17eba60
image.png

2、使用rpm命令安装:

 rpm -ivh jdk-8u181-linux-x64.rpm?AuthParam=1534132498_e541d098d71f6243516fa69cd17eba60
image.png

3、配置环境变量、验证安装

今天学到的知识>>>>>>

Solr 单机版安装

1 安装环境

1.1安装 jdk
1.1.1JDK 版本:
jdk-8u11-linux-x64.tar.gz
1.1.2环境变量配置

export JAVA_HOME=/usr/local/jdk
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

1.2安装 tomcat
1.2.1Tomcat 版本
apache-tomcat-7.0.47.tar.gz

2 安装 Solr

Solr 版本:solr-4.10.3.tgz.tgz
2.1Solr 是由两个部分构成:
1) Solr 的 web 服务
2) Solr 的索引库
2.2上传 Solr 压缩包
2.3解压 Solr 压缩包
2.4Solr 的目录介绍
bin:启动 solr 的一些脚本,但是需要依赖 jeety 容器
contrib:存放的是 solr 对第三方插件支持的内容
dist:solr 编译后所产生一些文件夹。War 或者是 jar
example:是 solr 的案例。在该目录下有两个文件夹对于我们来说比较重要。

  1. webapps:在该目录中存放了一个 solr 的 war 包。与 dist 目录下的那个 war 文 件是
    同一个,只是存放的目录及名称不同而已。
  2. solr: 是 solr 的一个标准的索引库示例。
  3. lib/ext:该目录下存放的是一些日志处理器的 jar 包。Solr 的 web 服务也要依赖于日志
    处理的 jar 包。所以我们在安装 solr 服务时,需要将该目录下的 jar 拷贝
    给 solr 服务
    2.5安装 Solr 服务
    其实安装 solr 服务就是将 solr 的 war 包,拷贝到 tomcat 的 webapps 目录下。
    2.6启动 tomcat,解压 war 包
    查看 tomcat 的启动日志,查看是否做 war 的解压
    tailf logs/catalina.out
    2.7添加服务中所依赖的 jar 包
    由于我们在解压后的 solr 的项目中,需要依赖一些日志处理的 jar 包。所以我们在添加
    依赖的 jar 包时,需要将原来的 war 删除掉。否则 tomcat 再次启动时,会将原来的目录覆盖
    掉。那么新添加的 jar 包也就没了。注意:在删除 war 包时,一定要在 tomcat 关闭的状态下
    删除 war 包。如果在 tomcat 启动状态下删除 war 包,那么 tomcat 在关闭时会将解压的目录
    一并的也删除掉。
    2.8安装 solr 索引库
    在 solr 的解压目录的 example 目录下有个 solr 的目录,就是 solr 的一个基本的索引库示
    例。
    2.9拷贝索引库
    将该索引库拷贝到指定目录下(可以是任意目录),虽然具备任意性。但是也不能太随便。
    应该放到/usr/local/solrhome。先创建 solrhome 目录
    2.10solr 的服务中配置索引库
    在 solr 的服务中配置索引库的位置注意:需要配置的路径为索引库的根。可以使用 linux
    中的 pwd 命令查看绝对路径。将该路径添加到 solr 服务中的 web.xml 文件中 Solr 服务在启
    动时,是通过他的 web.xml 文件中的节点配置获取索引库的绝对位置的。vim web.xml 在
    web.xml 中找到.注意:该节点默认是注释状态的,我们需要先去掉注释。然后将
    拷贝的索引库的路径添加到该节点的节点中
    2.11访问 Solr 服务
    启动 tomcat 通过 solr 的管理页面可以对 solr 进行操作了

习题的情况总结>>>>>>

solr管理界面各部分组成和作用

1Dashboard(仪表盘)

访问 http://localhost:8080/solr 时,出现该主页面,可查看到 solr 运行时间、solr 版本,
系统内存、虚拟机内存的使用情况

2Logging(日志)

显示 solr 运行出现的异常或错误

3Core Admin (core 管理)

主要有 Add Core(添加核心),Unload(卸载核心),Rename(重命名核心),Reload(重
新加载核心),Optimize(优化索引库)
Add Core 是添加 core : 主 要 是 在 instanceDir 对 应 的 文 件 夹 里 生 成 一 个
core.properties 文件
name:给 core 起的名字;
instanceDir:与我们在配置 solr 到 tomcat 里时的 solr_home 里新建的 core
文件夹名一致;
dataDir:确认 Add Core 时,会在 new_core 目录下生成名为 data 的文件夹
config:new_core 下的 conf 下的 config 配置文件(solrconfig.xml)
schema: new_core 下的 conf 下的 schema 文件(schema.xml)

4Java Properties

可查看到 java 相关的一些属性的信息

5Thread Dump

查看每个线程的详细信息,以及状态信息

6Core Selecter(core 选择器)

6.1 overview(概览)

包含基本统计如当前文档数;和实例信息如当前核心的配置目录

6.2 Analysis(分析)

检验分词效果

6.3 Dataimport(导入数据)

6.4 Documents

Documents (索引文档)索引的相关操作,如:增加,修改,删除等
在如下页面,选择/update ,文档格式选择 json ,然后 submit 提交。这样 索引就增
加上了。修改与增加一样,都是/update ,删除为/delete 。 成功之后,我们去 query 里查询数据
就能查到我们刚添加的数据.

6.5 Files 文件夹

solr_home 下的 core 下的 conf 下的相关文件,可单击查看里面的内容

6.6 Ping

查看当前核心库还是否工作的以及响应时间

6.7 Plugins /stats

Solr 自带的一些插件以及我们安装的插件的信息以及统计

6.8 Query(查询页面)

查询的结果要显示哪个字段,就得将 schema.xml 文件配置字段时的 stored 属性设为 true
Request-Handler(qt): 请求处理器
q: 查询字符串(必须的)。:表示查询所有;keyword:尚学堂 表示按关键字“尚学堂”
查询
fq: filter query 过滤查询。使用 Filter Query 可以充分利用 Filter Query Cache,提高检索
性能。作用:在 q 查询符合结果中同时是 fq 查询符合的(类似求交集),例如:
q=mm&fq=date_time:[20081001 TO 20091031],找关键字 mm,并且 date_time 是 20081001
到 20091031 之间的。
sort: 排序。格式如下:字段名 排序方式;如 id desc 表示按 id 字段降序排列查询结果。
start,rows:表示查回结果从第几条数据开始显示,共显示多少条。
fl: field list。指定查询结果返回哪些字段。多个时以空格“ ”或逗号“,”分隔。不指
定时,默认全返回。
df: default field 默认的查询字段,一般默认指定。
Raw Query Parameters: 原始查询参数的
wt: write type。指定查询输出结果格式,我们常用的有 json 格式与 xml 格式。在
solrconfig.xml 中定义了查询输出格式:xml、json、python、ruby、php、csv。
indent: 返回的结果是否缩进,默认关闭,用 indent=true | on 开启,一般调试
json,php,phps,ruby 输出才有必要用这个参数。
debugQuery: 设置返回结果是否显示 Debug 信息。
dismax:
edismax:
hl: high light 高亮。hl=true 表示启用高亮
hl.fl : 用空格或逗号隔开的字段列表(指定高亮的字段)。要启用某个字段的
highlight 功能,就得保证该字段在 schema 中是 stored。
hl.simple.pre: 设置高亮显示的 html 标记的开始标记
hl.simple.post:设置高亮显示的 html 标记的结束标记
hl.requireFieldMatch: 如果置为 true,除非该字段的查询结果不为空才会被高亮。它
的默认值是 false,意味 着它可能匹配某个字段却高亮一个不同的字段。如果 hl.fl 使用了通
配符,那么就要启用该参数。尽管如此,如果你的查询是 all 字段(可能是使用 copy-field 指
令),那么还是把它设为 false,这样搜索结果能表明哪个字段的查询文本未被找到
hl.usePhraseHighlighter:如果一个查询中含有短语(引号框起来的)那么会保证一
定要完全匹配短语的才会被高亮。
hl.highlightMultiTerm:如果使用通配符和模糊搜索,那么会确保与通配符匹配的
term 会高亮。默认为 false,同时 hl.usePhraseHighlighter 要为 true。
facet:分组统计,在搜索关键字的同时,能够按照 Facet 的字段进行分组并统计。
facet.query:Facet Query 利用类似于 filter query 的语法提供了更为灵活的 Facet.通
过 facet.query 参数,可以对任意字段进行筛选。
facet.field:需要分组统计的字段,可以多个。
facet.prefix: 表示 Facet 字段值的前缀。比如 facet.field=cpu&facet.prefix=Intel,
那么对 cpu 字段进行 Facet 查询,返回的 cpu 都是以 Intel 开头的, AMD 开头的 cpu 型号将
不会被统计在内。
spatial:
spellcheck: 拼写检查。

6.9 Replication

显示你当前 Core 的副本,并提供 disable/enable 功能

6.10 Schema

显示你当前 Core 的副本,并提供 disable/enable 功能
(1)如何通过SolrJ向索引库中添加文档?

/**
     * 向索引库中添加文档
     * @throws Exception 
     * @throws SolrServerException 
     */
    public static void solrInsert() throws  Exception{
        //创建一个solrj的链接对象
        SolrServer server = new HttpSolrServer("http://192.168.70.147:8080/solr");
        //创建一个Solr的文档对象
        for(int i=0;i<20;i++){
            SolrInputDocument docu = new SolrInputDocument();
            //向文档对象中添加需要插入到索引库的内容
            docu.addField("id", "OldLu"+i);
            docu.addField("item_title", "老好了"+i);
            docu.addField("item_price",1000+i);
            //将文档插入到solr的索引库中   
            server.add(docu);
        }
        //事务的提交
        server.commit();
    }

11.测试SolrJ-删除文档
(1)如何通过SolrJ删除索引库中的文档?

/**
     * 删除索引库中的文档
     * @throws Exception 
     * @throws SolrServerException 
     */
    public static void solrDelete() throws  Exception{
        //创建一个solrj的链接对象
        SolrServer server = new HttpSolrServer("http://192.168.70.147:8080/solr");
        //给定删除条件
           //1.根据主键删除
        //server.deleteById("test");
           //2.根据查询删除
        server.deleteByQuery("*:*");
        server.commit();
    }

12.测试SolrJ-查询文档

(1)如何通过SolrJ查询索引库中的文档?
/**
     * 查询索引库
     * @throws Exception 
     */
    public static void solrSearch() throws Exception{
        //创建一个solrj的链接对象
        SolrServer server = new HttpSolrServer("http://192.168.70.147:8080/solr");
        
        //创建查询条件
        SolrQuery query = new SolrQuery();
        query.setQuery("老好了0");
        query.set("df", "item_keywords");
        //设置分页
        query.setStart(0);
        query.setRows(10);
        
        //执行查询
        //QueryResponse:封装查询的结果集
        QueryResponse res = server.query(query);
        
        SolrDocumentList docu =res.getResults();
        //list.getNumFound() 数据总条数
        System.out.println("总条数:"+docu.getNumFound());
        for(SolrDocument var :docu){
            System.out.println(var.get("item_title"));
            System.out.println(var.get("item_price"));
        }
    }   

你可能感兴趣的:(尚学堂089天总结+linux)