Как определить имя моего поля в schema.xml apache solr, чтобы получить только имя файла документа

Я начинаю работать в 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 схемы не имеет поля "имя" документа, затем я добавляю это поле с помощью 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

И переиндексировать весь документ. С окнами SimplepostTools:

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, потому что он не использует API schema.xml, тогда я могу изменить свою схему:

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

Techproducts возвращает имя всех проиндексированных файлов.xml;

Затем я создаю новое ядро ​​на основе solr_home example/techproducts/solr и использую schema.xml (постоянное поле "name") и solrConfig.xml из techproducts в этом новом ядре под названием demo. Когда я проиндексировал весь документ, имя поля существовало, но все еще пусто для всех проиндексированных файлов.

Мой вопрос заключается в том, как я могу получить только имя каждого документа (msword и pdf), а не путь, такой как поле "id" или поле "ressource_name"; Я должен создать новое Typefield или существовать другим способом.

0 ответов

Другие вопросы по тегам