Solr - 按字段获得精确结果

时间:2016-01-14 10:45:42

标签: solr

我相对来说是solr的新手。我有一个关于在查询中搜索特定值的问题。也许这是对solrconfig和requesthandler的误解。

我的solrcfg看起来像这样:

<?xml version="1.0" encoding="UTF-8" ?>
<config>
<luceneMatchVersion>5.2.0</luceneMatchVersion>
<requestHandler name="get_window_results" class="solr.SearchHandler">
<lst name="defaults">
    <str name="defType">dismax</str>
    <str name="qf">manufacturers_name^10.0 products_name^10.0 id_shop_color_ii^10.0 id_shop_color_i^10.0 id_shop_color_iii^10.0 ID^1.0</str>
    <str name="pf">products_name</str>
</lst>
</requestHandler>
<requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers"/>
</config>

我的Searchquery看起来像这样:

solr/window_search/select?q=id_shop_color_ii:"2"&wt=json&indent=true&qt=get_window_results

在结果中,我希望看到id_shop_color_id_ii的所有内容和2的匹配值。然后是其他一切,在三个颜色区域中的任何其他区域中可能有2个。但是,我的第一个结果如下:

"id_shop_color_i": 2,
"shop_color_short_i": "braun",
    "shop_color_bez_i": "braun",
    "id_shop_color_ii": 0,
    "shop_color_short_ii": "",
    "shop_color_bez_ii": "",
    "id_shop_color_iii": 0,
    "shop_color_short_iii": "",

这对我来说毫无意义,因为我知道id_shop_color_ii的值为2。然而,在前50个结果中他们甚至没有被怀疑。有谁知道,我的错误在哪里,或者我对solrcfg的基本理解有问题?

由于 KR Adi

1 个答案:

答案 0 :(得分:1)

当您在get_window_results处理程序中使用dismax查询解析器时,您可以将其传递给查询字词,它将搜索处理程序中定义的加权字段。在您的处理程序中,它将包含id_shop_color_id_ii字段。所以你只需要将查询更改为...

solr/window_search/select?q=2&wt=json&indent=true&qt=get_window_results
相关问题