我正在尝试将SOLR与Magento集成到我的开发机器上。我们正在升级Magento,我想测试SOLR是否正常运行。
我能够提供SOLR,统计数据表明它有文件。在SOLR管理员中,当我输入:作为查询字符串时,我确实得到了文档列表。但是当我搜索“maria mosters”时,没有返回任何结果。
我尝试过SOLR 1.4.1(我们在生产中运行)和3.4.0。
我的schema.xml:http://pastebin.com/3a2J99re
答案 0 :(得分:2)
感谢您的回复。根据我的情况,我终于得到了答案。
我通过检查SOLR记录的查询字符串找到了。这是例如:
127.0.0.1 - - [28/09/2011:09:05:34 +0000] "GET /solr/select?sort=score+desc&fl=id&spellcheck=true&spellcheck.count=2&qt=magento_nl&spellcheck.collate=true&spellcheck.dictionary=magento_spell_nl&spellcheck.extendedResults=true&fq=visibility%3A4+AND+store_id%3A1&version=1.2&wt=json&json.nl=map&q=%28maria+mosterd%29&start=0&rows=1 HTTP/1.0" 400 1405
当我第一次请求此查询时,它表示字段可见性未知。显然,Magento在升级后的版本中添加了这个字段。我将该字段添加到配置中,然后再次运行查询。现在它说dictionairy magento_spell_nl不存在。
发生了什么事?
新的Magento有一个名为“启用搜索建议”的选项。在我之前的Magento版本中,此选项不存在,因此此拼写检查程序未传递给查询字符串。
当我改变这个设置时,我能够使用我的生产服务器的精确副本。
答案 1 :(得分:0)
*:*
将在所有字段中匹配所有字段。
如果您使用标准请求处理程序,搜索maria mosters将在默认字段中搜索 架构中设置的默认搜索字段是全文,我没有看到任何复制域。 所以你确定该字段已填充。
如果您通过qt param使用任何自定义请求处理程序,是否包含适当的字段?
分享你的solrconfig和完整查询可能有助于其他人帮助你。
答案 2 :(得分:0)
看起来您的问题是,在您的架构中,您将全文字段定义为默认搜索字段,但您没有填充该字段。我建议将默认字段设置为您要填充的另一个字段,或者在执行查询时,指定要搜索的字段...示例text_en:"maria monsters"
有关详细信息,另请参阅Solr Wiki上的SolrQuerySyntax页面。