之前的文章:solr配置介绍了solr的配置方法
现在在之前的基础上生成测试数据的索引并查询返回结果
在做之前需要比较两个solr.xml的配置文件
分别是solr4.8.1解压路径下的\solr-4.8.1\example\multicore和\solr-4.8.1\example\solr两个配置文件
按照之前文章的描述,使用的solr.xml文件时后者。因为现在还具体不太明白配置,就不做详解了,我们只要把前者的配置文件替换到solr home下的solr.xml配置文件即可
这是第一步。
第二步:在solr home下新建路径如下图所示:
其中solrtest可以类比为一个数据库,conf下放置两个配置文件schema.xml和solrconfig.xml,可以参考cell0和cell1,index下存放生成的数据索引,tlog存放生成的日志(在此需要注意的是日志可能增长的较快,因此可以通过定义日志的输出级别进行控制)。其中schema.xml的定义为:
<?xml version="1.0" ?>
<schema name="example solr test" version="1.1">
<types>
<fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
</types>
<fields>
<!-- general -->
<field name="testid" type="string" indexed="true" stored="true" multiValued="false" required="true"/>
<field name="testtype" type="string" indexed="true" stored="true" multiValued="false" />
<field name="testname" type="string" indexed="true" stored="true" multiValued="false" />
<field name="_version_" type="long" indexed="true" stored="true"/>
</fields>
<!-- field to use to determine and enforce document uniqueness. -->
<uniqueKey>solrid</uniqueKey>
<!-- field for the QueryParser to use when an explicit fieldname is absent -->
<defaultSearchField>testname</defaultSearchField>
<!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
<solrQueryParser defaultOperator="OR"/>
</schema>
第三步:在solr home下新建文件夹exampledocs,把solr4.8.1解压路径”solr-4.8.1\example\exampledocs“下的post.jar拷贝至该目录下。
第四步:在第三步新建的exampledocs文件夹下新建solrtestdata.xml的数据生成文件,文件内容为:
<?xml version="1.0" ?>
<add>
<doc>
<field name="testid">solrid</field>
<field name="testtype">type</field>
<field name="testname">solr test namet</field>
</doc>
</add>
第五步:通过命令行在exampledocs文件夹下执行命令ava -Durl=http://localhost:8080/solr/solrtest/update -Ddata=files -jar post.jar solrtestdata.xml
至此准备工作已经完成
命令执行后可以到index目录下看到生成的索引文件。
然后进入admin页面,可以在solrtest下执行查询操作可以得到查询的反馈数据。
注意,jdk的版本为1.7