我对Solr很新(昨天安装好了......)我已经遇到了第一个问题。
我有我的目录Solr-Indexing
,我复制了post.jar
我的核心目录Collection1
。在Collection1
我的conf
目录中包含schema.xml
,solrconfig.xml
和一些pdf文档(我想导入/索引)。
我用java -Dsolr.solr.home="D:/download/Solr-Test/Solr-Indexing" -jar start.jar
启动我的Solr实例(我在日志中看不到任何问题)然后我尝试使用命令java -Dtype=application/pdf -Durl=http://localhost:8983/solr/collection1/update/extract -jar post.jar collection1/Lucene.pdf
在我的集合中加载pdf。
输出如下:
D:\download\Solr-Test\Solr-Indexing>java -Dtype=application/pdf -Durl=http://localhost:8983/solr/collection1/update/extract -jar post.jar collection1/Lucene.pdf
SimplePostTool version 1.5
Posting files to base url http://localhost:8983/solr/collection1/update/extract using content-type application/pdf..
POSTing file Lucene.pdf
SimplePostTool: WARNING: Solr returned an error #404 Not Found
SimplePostTool: WARNING: IOException while reading response: java.io.FileNotFoundException: http://localhost:8983/solr/collection1/update/extract
1 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/collection1/update/extract..
SimplePostTool: WARNING: Solr returned an error #404 Not Found for url http://localhost:8983/solr/collection1/update/extract?commit=true
Time spent: 0:00:00.015
问题出在哪里?我想念一下吗?
我可以看到浏览器中的网址为http://localhost:8983/solr/#/Collection1
且#
,而我使用的网址没有#
。这可能是个问题吗?我也尝试在我的命令中添加#
,但接着我收到了消息:
D:\download\Solr-Test\Solr-Indexing>java -Dtype=application/pdf -Durl=http://localhost:8983/solr/#/collection1/update/extract -jar post.jar collection1/Lucene.pdf
SimplePostTool version 1.5
Posting files to base url http://localhost:8983/solr/#/collection1/update/extract using content-type application/pdf..
POSTing file Lucene.pdf
SimplePostTool: WARNING: Solr returned an error #405 HTTP method POST is not supported by this URL
SimplePostTool: WARNING: IOException while reading response: java.io.IOException: Server returned HTTP response code: 405 for URL: http://localhost:8983/solr/#/collection1/update/extract
1 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/#/collection1/update/extract..
Time spent: 0:00:00.031
以下是我的schema.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<schema name="simple" version="1.1">
<types>
<fieldtype name="string" class="solr.StrField"/>
<fieldtype name="long" class="solr.TrieLongField"/>
<fieldtype name='text' class='solr.TextField'>
<analyzer>
<tokenizer class='solr.WhitespaceTokenizerFactory' />
<filter class='solr.LowerCaseFilterFactory' />
</analyzer>
</fieldtype>
</types>
<fields>
<field name="id" type="long" required="true" />
<field name='fullText' type='text' multiValued='true' />
<dynamicField name="*" type="string" multiValued="true" indexed="true" stored="true" />
<copyField source="*" dest="fulltext" />
</fields>
<uniqueKey>id</uniqueKey>
<defaultSearchField>fullText</defaultSearchField>
<solrQueryParser defaultOperator="OR" />
</schema>
和solrconfig.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<config>
<luceneMatchVersion>LUCENE_45</luceneMatchVersion>
<directoryFactory name='DirectoryFactory' class='solr.MMapDirectoryFactory' />
<lib dir='${solr.core.instanceDir}\lib' />
<requestHandler name='standard' class='solr.StandardRequestHandler' default='true' />
<requestHandler name="/select" class="solr.SearchHandler" />
<requestHandler name='/update' class='solr.UpdateRequestHandler' />
<requestHandler name='/update/extract' class='solr.extraction.ExtractingRequestHandler'>
<lst name="defaults">
<str name="uprefix">s_meta_</str>
<str name="fmap.content">t_content</str>
<str name="fmap.dcterms:created">d_created</str>
</lst>
</requestHandler>
<requestHandler name='/admin/' class='org.apache.solr.handler.admin.AdminHandlers' />
<admin>
<defaultQuery>*:*</defaultQuery>
</admin>
</config>
如你所见,我在一台Windows(7)机器上。
答案 0 :(得分:0)
这是文件路径错误。试试collection1\conf\Lucene.pdf
。您正在使用Windows机器,请使用\
。
错误告诉您的是它无法找到您指定的pdf文件。所以命令的最后一部分“collection1 \ Lucene.pdf”应该是罪魁祸首。你说你把pdf文件放在collection1 \ conf中索引。所以你应该试试这个:
java -Dtype=application/pdf -Durl=http://localhost:8983/solr/collection1/update/extract -jar post.jar collection1\conf\Lucene.pdf
如果仍然无效,请尝试提供您尝试索引的pdf的完整路径。
建议:学习Solr时,不要先弄乱文件结构。