&引用;qt";Solr 5.5中的参数

&引用;qt";Solr 5.5中的参数,solr,solr-query-syntax,requesthandler,Solr,Solr Query Syntax,Requesthandler,我正在将solr从4.6版迁移到5.5版,我们有单独的请求处理程序,其中提供了不带字段名的查询,如q=book。但是对于select请求处理程序,我们需要用字段名传递请求,比如q=type:book。 如果我在没有字段名的情况下给出,我通常会得到一个错误“df中没有指定字段名”,这很好。 但在迁移到5.5之后,具有不同请求处理程序的请求也会显示此错误,并且只有在我通过浏览器点击查询时才会显示此错误。通过java代码执行相同的查询可以正常工作,下面提到的查询也可以正常工作: 因为这不起作用 这两个

我正在将solr从4.6版迁移到5.5版,我们有单独的请求处理程序,其中提供了不带字段名的查询,如q=book。但是对于select请求处理程序,我们需要用字段名传递请求,比如q=type:book。 如果我在没有字段名的情况下给出,我通常会得到一个错误“df中没有指定字段名”,这很好。 但在迁移到5.5之后,具有不同请求处理程序的请求也会显示此错误,并且只有在我通过浏览器点击查询时才会显示此错误。通过java代码执行相同的查询可以正常工作,下面提到的查询也可以正常工作: 因为这不起作用

这两个查询在Solr4版本中都运行良好


这个参数有什么变化吗?或者必须使用第一个请求吗?

如果不使用
q
param指定字段名。solr使用默认字段名,可以使用
df
为solrconfig.xml文件中的每个请求处理程序指定该字段名

例如:

<requestHandler name="/select" class="solr.SearchHandler">
    <!-- default values for query parameters can be specified, these
         will be overridden by parameters in the request
      -->
     <lst name="defaults">
       <str name="echoParams">explicit</str>
       <int name="rows">10</int>
       <str name="df">text</str>
     </lst>
  </requestHandler>

明确的
10
文本
qt
param

solrconfig.xml文件中有
,默认设置为false

如果requestDispatcher设置为true solr请求

例:


上述请求使用“/select”表示在您的配置文件中是否没有该名称的请求处理程序。如果不使用
q
param指定字段名,Solr将使用“qt”参数按名称查找处理程序,而不是错误。solr使用默认字段名,可以使用
df
为solrconfig.xml文件中的每个请求处理程序指定该字段名

例如:

<requestHandler name="/select" class="solr.SearchHandler">
    <!-- default values for query parameters can be specified, these
         will be overridden by parameters in the request
      -->
     <lst name="defaults">
       <str name="echoParams">explicit</str>
       <int name="rows">10</int>
       <str name="df">text</str>
     </lst>
  </requestHandler>

明确的
10
文本
qt
param

solrconfig.xml文件中有
,默认设置为false

如果requestDispatcher设置为true solr请求

例:


上述请求使用“/select”表示在您的配置文件中是否没有该名称的请求处理程序。Solr使用“qt”参数按名称查找处理程序,而不是错误

是的,我已将requestDispatcher设置为true,但仍然存在相同的问题..:(是的,我已将requestDispatcher设置为true,但仍然存在相同的问题..:(