Solr里面的core就像数据库里面的一个表,用来管理索引和相关配置。

一、 使用示例core

下载的solr完整包里面solr-4.7.0\example\multicore这个文件夹下面有2个示例core;分别是core0和core1;如下图:

随便拷贝个到 $SOLR_HOME$ ,$SOLR_HOME$在什么地方配置的呢,就是你solr的web服务里面的web.xml里面配置,如下面配置,其中:D:\workspace\lucene\solr_home就是我的$SOLR_HOME$。

<env-entry>

<env-entry-name>solr/home</env-entry-name>

<env-entry-value>D:\workspace\lucene\solr_home</env-entry-value>

<env-entry-type>java.lang.String</env-entry-type>

</env-entry>

这里我们拷贝core0到我们的$SOLR_HOME$。

现在我们看看core0下面都有什么,这时候里面就一个conf文件夹,什么都没有。在core0/conf里面也就2个xml文件,分别是schema.xml、solrconfig.xml;

schema.xml定义了core0的field类型和名称,field就像数据库的字段,field的类型就像数据库的字段类型,field的名称就像数据库的字段名称;

solrconfig.xml描述了core0管理配置,比如指定索引文件的存储位置、日志文件的存储位置、使用什么管理器等。

启动solr服务,进入solr的管理界面,选中core Admin栏,如下图:

我们点击Add Core按钮,在弹出的界面中把name和instanceDir的值改为core0,也就是我们上面拷贝到$SOLR_HOME$的那个core0文件夹的名称,点击那个蓝色的Add Core按钮。

我们成功在solr服务器新加了一个core。

现在我们再回到$SOLR_HOME$/core0,发现下面多了一个data文件夹和一个core.properties文件。这2个东西就是我们在solr的管理页面操作的时候solr自己给我们创建的。我们为什么在管理页面能够看到core0,solr服务如何知道$SOLR_HOME$下面有个core0,其实还是core.properties在发挥作用。其实我们可以通过手动写core.properties来完成新建core。

core.properties

#Written by CorePropertiesLocator

#Sat Mar 15 15:49:01 CST 2014

name=core0

config=solrconfig.xml

schema=schema.xml

dataDir=data

二、 手动新建core

在$SOLR_HOME$新建clj_core文件夹,然后在clj_core文件夹下面再建立一个conf文件夹,我们把示例core0里面的conf下面的2个xml文件拷贝到新建的clj_core/conf文件夹下面;我们在clj_core下面新建一个core.properties文件配置如下:

name=core1

config=solrconfig.xml

schema=schema.xml

dataDir=data

重启solr服务,我们便在solr的管理页面看到我们新建的core1了。注意一点我们的core的名称和core的文件夹可以不一样,但是最好定义为一样的,方便管理。像上面我们手动建立的core1,其实我们的core文件夹名称是clj_core,这样的设计对维护很不友好,最好把文件夹名称改为core1或者把core的名称改为clj_core.

Solr4.7新建core的更多相关文章

  1. 【Solr】新建core后,启动服务访问web报错 HTTP Status 503

    新建core collection2后,启动solr服务,访问solr web界面报错. HTTP Status 503 - Server is shutting down or failed to ...

  2. .Net Core 学习新建Core MVC 项目

    一.新建空的Core web项目 二.在Startup文件中添加如下配置 1.  在ConfigureServices 方法中添加 services.AddMvc();MVC服务 2. app.Use ...

  3. solr 新建core

    D:\tomcat\webapps\solr\solr_home 在该路径下创建一个新的core,所需文件和层级如下 test_core |-- conf |-- schema.xml |-- sol ...

  4. solr新建core

  5. 通过配置文件新建solr的core

    目录solr-7.5.0\server\solr 1.  新建文件夹 test-core 2. 在文件夹test-core下新建core.properties name=test-core confi ...

  6. Solr4.7从文件创建索引

    索引数据源并不会一定来自于数据库.XML.JSON.CSV这类结构化数据,很多时候也来自于PDF.word.html.word.MP3等这类非结构化数据,从这类非结构化数据创建索引,solr也给我们提 ...

  7. Asp.net Core准备工作

    1.安装环境 安装.Net Core SDK 安装VS2015 Update3 安装DotNetCore.1.0.1-VS2015Tools.Preview2.0.2.exe 2.新建Core工程 项 ...

  8. Docker的使用初探(二):Docker与.NET Core的结合

    目录 Docker的使用初探(二):Docker与.NET Core的结合 添加Dockefile 1. 在创建项目时添加 2. 手动添加 3. 容器业务流程协调控制程序支持 Dockefile语法 ...

  9. .net core 中简单封装Dapper.Extensions 并使用sqlsuger自动生成实体类

    引言 由公司需要使用dapper  同时支持多数据库 又需要支持实体类 又需要支持sql 还需要支持事务 所以采用了 dapper + dapperExtensions  并配套 生成实体类小工具的方 ...

随机推荐

  1. win7下的vxworks总结

    在visualbox下运行vxworks 先来看一张效果图: 在tornado端 成功运行第一个程序,输出了visualbox can run the vxworks ! 在vmware下的速度快多了 ...

  2. [codevs1557]热浪

    本题地址:http://www.luogu.org/problem/show?pid=1339 http://codevs.cn/problem/1557/ http://www.tyvj.cn/p/ ...

  3. 【CSS】Intermediate8:Page Layout

    1.Layout with CSS is easy. You just take a chunk of your page and shove it wherever you choose 2.pos ...

  4. CentOS下恢复Firefox的复制等功能

    在CentOS下使用firefox编辑博客时,我发现无法使用复制粘帖功能,可用如下两种方法恢复(方法一已验证可行): 方法一: 找到user.js所在的目录,Linux下的user.js所在目录为Un ...

  5. 使用yum和iso镜像离线升级RedHat系统

    创建一个用于挂载iso镜像的目录.由于这个目录不能在挂载时自动创建,所以需要以root身份先创建一个目录.命令: mkdir mount_dir 以root身份把iso镜像挂载到上一步创建的目录上.命 ...

  6. Android webView 中loadData方法加载 带中文时出现乱码

    WebView出现乱码用LoadData方法来解析html的,但是据说这是官方的一个BUG,不能用来解析中文. 采用loadDataWithBaseURL的方法,其中codeingType设置为utf ...

  7. 一分钟快速入门openstack

    一.它是什么,能干什么想认识一个事物,必须先弄明白它是什么,能干什么.首先说一下,openstack是一个搭建云平台的一个解决方案,说他不是个软件,但是我觉得说是一个软件,能够让大家认识更清晰些.op ...

  8. Detect combined string

    写一个程序判断字符串A是否为其他两个字符串的组合,组合过程中其他两个字符串的相对顺序不能被破坏. 举例说明:abc和def可以组成字符串adebcf,但不能组成aefbcd,因为def的相对顺序已经被 ...

  9. mac编程的debug工具

    Chisel是一个加强LLDB调试能力的小插件.主要特点在于辅助界面开发调试时在控制台以尽可能直观的方式查看界面的元素和情况.为我们梳理视图,控制器以及类关系层级.以及一些临时的界面调试变动进行快捷响 ...

  10. WPF线程获取UI线程

    WPF中只能是UI线程才可以改变UI控件相关,当采用多线程工作时,可用以下代码获取 UI线程进行操作: App.Current.Dispatcher.Invoke((Action)delegate() ...