您好,匿名用户
随意问技术百科期待您的加入

Solr + php 报400

0 投票

初学Solr从网上下载了一个例子,但是运行时报以下错误:

Fatal error: Uncaught exception 'Apache_Solr_HttpTransportException' with message ''400' Status: Bad Request' in /Applications/XAMPP/xamppfiles/htdocs/phpSolr/SolrPhpClient/Apache/Solr/Service.php:338 Stack trace: #0 /Applications/XAMPP/xamppfiles/htdocs/phpSolr/SolrPhpClient/Apache/Solr/Service.php(1170): Apache_Solr_Service->_sendRawGet('http://localhos...') #1 /Applications/XAMPP/xamppfiles/htdocs/phpSolr/index.php(78): Apache_Solr_Service->search('name: ????', 0, 10) #2 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/phpSolr/SolrPhpClient/Apache/Solr/Service.php on line 338

从网上找过答案,大部分都说是schema.xml中没有定义field,但是我确认我使用的field都说定义了,实在是不知道为什么了,希望有人知道!!

用户头像 提问 2014年 2月17日 @ Annie 上等兵 (299 威望)
分享到:

1个回答

0 投票

首先我要说的是 ... 并不是所有的牛奶都叫某某苏 ... 也并不是所有的错误都叫 404 ...

你的这个错误是 '400' Status: Bad Request ... 而不是 404 ...

一般来说这个错误出现的原因就如你所说 ... 是 schema.xml 中没有定义 field ...

但是具体如何还要分析 ...

Apache_Solr_Service 这个类不会回传 solr 的内部错误 ... 所以我们要用其他方式解决 ...

第一种方式比较简单 ... 查看 solr 的 log ... 会有类似于下面一行的内容 ...

SEVERE: org.apache.solr.common.SolrException: ****

其中 **** 就是具体造成错误的原因 ...

第二种方法 ... 使用 solr 自带的一个工具叫 solr admin ...

在这个工具里你可以手动输入查询 ... 如果查询无效的话也会显示出详细的错误信息 ...

以你描述的情况来说 ... 只需要输入 name:???? 然后点确定就好 ...

有了错误信息才能知道如何解决这个问题 ... 不然只能靠东一榔头西一棒子的猜测 ... 费时费力 ...

只说 solr 报了错 ... 你也不知道为什么只希望别人知道 ... 很遗憾 ... 我觉得没有人会知道 ...

话可能说的有点重 ... 抱歉 ... 但道理是这样 ...

先要学会良好的描述自己遇到的问题才能希望别人可以准确高效的解决问题 ... 你说是不是 ..?

用户头像 回复 2014年 2月15日 @ Lulu 上等兵 (293 威望)
提一个问题:

相关问题

0 投票
1 回复 24 阅读
用户头像 提问 2014年 2月15日 @ Yorick 上等兵 (278 威望)
0 投票
0 回复 3 阅读
用户头像 提问 2014年 5月26日 @ Capricorn 上等兵 (188 威望)
+2 投票
1 回复 303 阅读
用户头像 提问 2013年 1月13日 @ Archer 上等兵 (494 威望)
+1 投票
1 回复 108 阅读
用户头像 提问 2013年 1月13日 @ Dante 上等兵 (290 威望)
+2 投票
1 回复 587 阅读
用户头像 提问 2013年 1月11日 @ Jax 上等兵 (324 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...