从Blacklight运行Solr查询时,使用的查询解析器是DisMax查询解析器。但是,在我的solrconfig.xml
文件中配置的查询解析器是EDisMax解析器。由于某种原因,Blacklight将deftype=dismax
请求发送到Solr,因此将覆盖deftype=edismax
Solr配置中定义的所需值。
如何阻止Blacklight覆盖该deftype
参数?
您在使用Blacklight的Advanced Search gem吗?Dismax解析器在“高级搜索” gemtree.rb
下的文件中进行lib/parsing_nesting
了硬编码。如果要使用edismax解析器,则必须在“ lib”目录下创建一个新的“ parsing_nesting”目录。将tree.rb
文件复制到您创建的“ parsing_nesting”目录中。一种简单(但有点难看)的解决方案是将文件中的所有“ dismax”替换为“ edismax”。更好但更困难的解决方案是彻底读取整个文件并更改一些函数签名,以使它们不需要“ force_deftype”参数。首先:force_deftype => "dismax"
从build_nested_query
功能中删除,然后查看将您引向何处。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句