什么是solr的默认查询解析器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是solr的默认查询解析器相关的知识,希望对你有一定的参考价值。

我对solr文件中的这些词感到困惑:

https://cwiki.apache.org/confluence/display/solr/The+Standard+Query+Parser

在Solr 1.3之前,标准请求处理程序将标准查询解析器称为默认查询解析器。在Solr 1.3之后的版本中,标准请求处理程序将DisMax查询解析器称为默认查询解析器。

https://cwiki.apache.org/confluence/display/solr/The+DisMax+Query+Parser

q参数不支持通配符,例如*。

所以我下载solr 4.7.2,解压缩它

检查我有

  <requestHandler name="/select" class="solr.SearchHandler">

solr-4.7.2/example/solr/collection1/conf/solrconfig.xml,默认情况下。

然后,我索引这份文件

<?xml version="1.0"?>
<add>
  <doc boost="1.0">
        <field name="id">item1</field>
    </doc>
</add>

http://localhost:8983/solr/collection1/select?q=id:it*

找到文件,

http://localhost:8983/solr/collection1/select?q=id:it*defType=dismax

找不到任何物品

所以看起来标准的查询解析器是默认的而不是dismax查询解析器?

答案

默认值在solrconfig.xml文件中定义。 4.7.2附带的默认solrconfig.xml文件具有以下条目:

edismax

这意味着默认值是扩展的dismax查询解析器。 http://wiki.apache.org/solr/ExtendedDisMax

另一答案

它看起来我标准的查询解析器是默认的而不是dismax查询解析器。但我们可以为任何solr(ver 4)请求处理程序指定默认查询解析器。

下面是solrConfig.xml文件中的一些配置条目

    <requestHandler name="/query" class="solr.SearchHandler">
         <lst name="defaults">
           <str name="echoParams">explicit</str>
           <int name="rows">20</int>
           <str name="defType">edismax</str>
           <str name="wt">json</str>
         </lst>
      </requestHandler>

以上是关于什么是solr的默认查询解析器的主要内容,如果未能解决你的问题,请参考以下文章

Solr查询解析器大全

Solr查询中的双引号

Solr学习笔记——查询

Solr搜索技术

solr搜索流程

Solr/Lucene 查询词形还原与上下文