Я редко отношусь к solr. У меня есть вопрос относительно поиска определенных значений в запросе. Возможно, это неправильное понимание solrconfig и requesthandler.Solr - получение точных результатов по полю
Мой 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
В вашем файле 'schema.xml', что такое тип поля для' id_shop_color_ii'? –
Привет, это целое число. '<имя FieldType = класс "ИНТ"= "solr.TrieIntField" precisionStep = "0" omitNorms/= "истинный" positionIncrementGap = "0"> .... <имя поля = типа "id_shop_color_ii" = "int" indexed = "true" stored = "true" /> ' – Adi
Вместо' q = id_shop_color_ii: "2" 'в вашем запросе попробуйте' q = 2' (оставьте оставшуюся часть запроса неповрежденной). Конфигурация вашего обработчика smax будет использовать параметр 'qf' для поиска' 2'. –