logo资料库

solr4.9安装使用手册.docx

第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
资料共11页,剩余部分请下载后查看
安装
数据导入
查询
分词索引
安全
Solr 版本是 4.9.0 最新版,因为每个版本都有不同程度差异,所以教程种类繁多,大都是 1.X 的教程,其他这里推荐 http://wiki.apache.org/solr/ 资料齐全,不过是英文,但很值得 一看,可根据不同版本做相应的配置调整。 Tomcat 的架设网上太多教程,这里就不多说了,传送门 Tomcat7.X http://www.cnblogs.com/Johness/archive/2012/07/20/2600937.html 安装 Solr4.X 安装教程(和之前的版本有些区别),附带传送门 http://blog.csdn.net/rzhzhz/article/details/11966763 这里说下 4.X 的安装过程 首先将安装包解压,目录为@solrUnZip 复制 @solrUnZip/dist/solr-4.X.X.war 文件至%CATALINA_HOME%/webapps/并重命名为 solr.war. Ok ,启动 tomcat(cmd ->startup.bat 前提是配置好 tomcat 环境变量), 如果报错,请先解决其他错误,可能是环境变量配置有误, 启动之后,tomcat 自动解压 war 文件,在%CATALINA_HOME%/webapps/文件夹下生成 solr 文件夹,打开%CATALINA_HOME%/webapps/solr/WEB-INF/web.xml 找到节点,配置 solr/home 变量,去掉注释, solr/home @solrhome java.lang.String 新建文件 %CATALINA_HOME%/conf/Catalina/localhost/solr.xml 内容如下: %CATALINA_HOME%是环境变量 CATALINA_HOME 相应的路径 %JAVA_HOME%是 jdk 环境变量 @solrUpZip 是安装包解压路径 @solrhome 是自定义的 solr 主目录 接下来很重要! 复制@solrUnZip/example/dist/*.jar 至%CATALINA_HOME%/webapps/solr/WEB-INF/lib 中 复制@solrUnZip/example/lib(/lib/ext)下的.jar 文件至%CATALINA_HOME%/lib 复制@solrUnZIp/example/start.jar 至@solrhome(可选),便于后面 xml 文件提交/更 新索引数据
复制@solrUzZip/example/exampledocs/post.jar 至%JAVA_HOME% 重启 tomcat OK! 打开浏览器 http://127.0.0.1:8080/solr/ 如果看到这个界面,则说明配置成功了。 日志: 因为后面需要加载插件,服务器的日志记录在 admin 面板中的 Loging 中,如图
如果有其他错误,请按照错误提示信息,修改配置 添加 core Solr 可以添加多个 core,相当于一个数据中可以有多张表, 可以通过在%solr_home%\solr.xml 文件中加入索引库(core)信息 首先在在 solr>cores>中加入 core 节点,如下 其中@coreDir 可以自己指定, 可以手动建立@coreDir 文件夹,也可以启动你的 solr,solr 会在它在第一次加载 core 的时候默认生成相应文件夹和文件。 也可以参照 solr 安装文件解压文件夹下\example\multicore\solr.xml. 配置字段 为你的索引表添加字段 在@core\conf\schema.xml 中添加配置 首先在中加入上下文数据类型 @filedtype 为数据类型名称,可以自定义例如: name="string" ,name="bool",name="MyDataType". class 对应 solr 内置的字段类型,命名格式为 solr.XXXFiled,下面的表格中是常用的字段 (除过 solr.CurrencyFiled 单独介绍外) Solr 内置数据类型: BCDIntField 二进制整形字段 BCDLongField 二进制长整形字段 BCDStrField 二进制字符型字段 BinaryField 二进制数据 BoolField ByteField DateField DoubleField 包含 true 或者 false,值的第一个字符如果是 1、t、T 均表示 true,其他为 false 一个字节数据 一个精确到毫秒的时间值 ExternalFileField 从硬盘读取文件作为该字段的值 FloatField IntField Location LongField Point 方位搜索用到,存经纬度值 N 维点搜索,在蓝图或者 CAD 图中使用
RandomSortField 不包含值,当查询时按这种类型的字段排序时会产生随机排序。使 用该特性时需要是一个动态字段 ShortField StrField TextField UUIDField UTF-8 编码的字符串或 Unicode 文本类型,一般包含多个单词或汉字 唯一识别码,单传入的值是“NEW”时,Solr 将为其创建 1 个 UUID 值 下面的配置为简单样例: type="string" indexed="true" type="string" indexed="true" type="long" indexed="true" ClassifyId ClassifyName 注意:每个 core 必须有一个“_version”字段且为索引 Filed 字段类似于表结构中的字段,uniqueKey 是主键, defaultSearchField 是默认搜索字段 name 是字段名称,indexed 是否为该字段添加索引,stored,是否存储,其中的 type 可以是自 己定义的数据类型,也可以是 solr 内置的数据类型,但前提是必须在 filedtype 节点中定义。 定义如下:
class="solr.TrieLongField" class="solr.TrieDateField" /> /> class="solr.BoolField"> 其中 solr.CurrencyField 对应自定义的 decimal 数据类型,要使用该字段必须在 @core/conf 下添加 currency.xml 文件,文件格式可以参照,solr 安装包解压路径下的 @solr_Setup/example/example-schemaless/solr/collection1/conf/currency.xml 注意:该数据格式在序列化成 JAVA 或 C# decimal 时会报错,解决方案:替换掉货币单 位后缀(例如.USD)即可, 1 定义完之后,打开打开浏览器。地址:http://127.0.0.1:8080/solr/ 在 admin 面板中选择已经配置好字段的@core,选择 schama Browser 检查配置正确性。
数据导入 数据导入可以有多种方式,json 文件导入,xml 文件导入,数据库导入, 文件导入方式简单,使用 post.jar(前文已经说明,已经拷贝至%Path%中) Json 文件这里略过不说,只说后两种方式。 Xml 文件格式: 1 0 1 0001 385 Abrasives 2 1 2 0002 485 Assives 导入方式: Cmd>
java -Durl=http://@solrServerAddr/solr/@core/update -jar post.jar @filePath\XXX.xml 数据库导入方式: 根据不同的数据库,请下载相对应的 jdbc 驱动,以 MSSQL SERVER 为例首先在 microsoft 官 网下载 microsoft JDBC Driver X.X for SQL Server 然后将 sqljdbc.jar 拷贝至%CATALINA_HOME%\lib 中 如果是 64 位 tomcat,请拷贝 sqljdbc(版本号).jar,例如 sqljdbc4.jar 至%CATALINA_HOME%\lib 中 重启 tomcat 打开@core\conf\solrconfig.xml 在 config 节点中添加 @core\conf\data-config.xml 除此之外,还必须连同一起添加@core\conf\data-config.xml 文件 可以参考@solrUpZip\example\example-DIH\solr\db\conf\db-data-config.xml 文件 Document 是定义实体,可以定义多个实体, dataSource 是定义数据源的 name="ClassifyId" name="ClassifyName" > name="ClassifyLeval" >
为了避免查询的时候表字段外泄,可以修改 name 的值,但是必须和 schema.xml 文件中的字段名相一致 配置好了之后,重启 tomcat 选择 core 之后,打开 dataimport 插件,如图是完全倒入,先清理掉原数据后重现建立索引, 如此比较耗时,在 solr4.x 后出现了局部索引更新功能,这里还是用通用的方式。简单不易出 问题。 导入完之后,会有提示,并且会有部分有用信息,如图
分享到:
收藏