我如何在apache solr的schema.xml中定义我的字段名称,以获取文档文件的名称

时间:2015-11-20 19:18:25

标签: apache solarium cakephp-2.6 solr5

我开始使用solr 5.3.1运行solr服务器:

D:\solr\solr-5.3.1\bin>solr start ;

然后我在独立模式下创建一个核心:

D:\solr\solr-5.3.1\bin>solr create -c mycore

我需要从系统文件(word和pdf)索引,而架构API没有文档的字段“name”,然后我使用curl添加此字段:

curl -X POST -H 'Content-type:application/json' --data-binary '{
  "add-field":{
     "name":"name",
     "type":"text_general",
     "stored":true,
     “indexed”:true }
}' http://localhost:8983/solr/mycore/schema

并使用Windows SimplepostTools重新索引所有document.

D:\solr\solr-5.3.1>java -classpath example\exampledocs\post.jar -Dauto=yes -Dc=mycore -Ddata=files -Drecursive=yes org.apache.solr.util.SimplePostTool D:\Lucene\document ;

但即使字段“名称”被成功添加,他也是空的;字段标题仅获取pdf文档的名称,而不是msword(.doc和.docx)。

然后我选择使用techproducts示例进行索引,因为他不使用schema.xml API然后我可以修改我的模式:

D:\solr\solr-5.3.1>solr –e techproducts

Techproducts返回索引的所有files.xml的名称;

然后我创建了一个基于solr_home示例/ techproducts / solr的新核心,我在这个名为demo的新核心中使用了来自techproducts的schema.xml(contient字段“name”)和solrConfig.xml。 当我为所有文档编制索引时,字段名称存在,但对于索引的所有文件仍然为空。

我的问题是如何才能获得每个文档的名称(msword和pdf)而不是字段“id”或字段“ressource_name”的路径;我必须创建新的Typefield或以另一种方式存在。

0 个答案:

没有答案