Solr + php 报400
怪我咯
怪我咯 2017-04-10 14:25:20
[PHP讨论组]

初学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都说定义了,实在是不知道为什么了,希望有人知道!!

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
阿神

首先我要说的是 ... 并不是所有的牛奶都叫某某苏 ... 也并不是所有的错误都叫 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 报了错 ... 你也不知道为什么只希望别人知道 ... 很遗憾 ... 我觉得没有人会知道 ...

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号