学习使用solr时遇到的一些问题,记录
问题1: 一开始我在这个网站实践http://wiki.apache.org/solr/DIHQuickStart#Index_the_fields_in_different_names 结果到了第五步(Step 5 : Run the command?http://solr-host:port/solr/dataimport?command=full-import.)就出现了这样的错误: HTTP ERROR 404Problem accessing /solr/dataimport. Reason: NOT_FOUND Powered by Jetty:// 其实是因为之前在启动solr的时候弄错了,我之前是用"java -jar start.jar"来启动的,但是我自己建的文件目录是这样的: 在XiaoLongTest里面有“README.txt”文件,打开它,它会告诉你该怎么做。另外,当你成功启动后发现没有你自己创建的文件怎么办: 打开“XiaoLongTest”里面的solr.xml跟着他的模样插入一条就好了,依葫芦画瓢。然后在启动一下就有了。 问题2(在data-config.xml里面配置数据源的问题): 如果你用的sqlserver数据库,那么数据源该这样配置: <dataSource type="JdbcDataSource"? 如果用的是postgres(大象)数据库,那么就这样配置: <dataSource name="JdbcDataSource" 驱动包要用复制粘贴的方式方到相应的lib里面。 问题 3(给sorl设定IK分词器) ? schema.xml里面不是有很多的fieldType吗,其中class为solr.TextField的类型是可以被分词器分词的,我在一个fieldType名字是“text”的类型里面去设置。ik分词器需要到网上去下载,那下什么版本的其实和你的solr版本有关,如果您使用的是Solr1.3或者v2.9之前的Lucene,请下载IK Analyzer3.1.6GA使用! IK Analyzer3.2.X仅支持Lucene3.0以上版本。 ? ?我下载了最新的版本的ik,那怎么配置到schema.xml里面呢?其实下载的那个包里面都有一个pdf是教程,照里面的做就好了,配置好了后,在把你下载下来的ik的根目录下面的一个Jar文件,复制到相应文件的Lib下面,就好了。 问题 4(org.apache.solr.common.SolrException: Document [null] missing required field: id)? <field name="id" type="long" indexed="true" stored="true" required="true" />后面的required去掉。 问题 5(Could not open the editor: Resource is out of sync with the file system) ? 我在打开一个文件的时候出现这个错误:
当右击default.properties打开时,出现下图错误: 解决方法:右击工程,Refresh一下就好了。 原因:Usually happens when some files are edited outside of eclipse。 问题 6(Delta Import Failed) 我在solr里面进行增量导入的时候,出现了这样的错误: ?? 我的data-config.xml里面的document是这样写的: <document> <entity name="Member" query="select id,fullName,dtype,avatarUrl from Member where isDeleted=false" deltaQuery="select id from Member where lastModifyTime > '${dataimporter.last_index_time}' and isDeleted=false"> <!-- deltaImportQuery="select id,avatarUrl from Member where id = '${dataimporter.delta.id}'" --> </entity> <document> 现在问题解决了,原因就是没有在里面加上 pk="id" (其中这个id是和下面的deltaQuery里面的字段id一样) 正确的应该是这样的: <document> <entity name="Member" pk="id" query="select id,avatarUrl from Member where id = '${dataimporter.delta.id}'" --> </entity> <document> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |