首页 > 解决方案 > 我应该启用哪个包来在 tomcat 日志或控制台中记录 Solr 查询?

问题描述

SAP 商务 1905

我应该启用哪个包(到 DEBUG 或 INFO)以在 tomcat 日志或控制台中记录 Solr 查询?

我知道您可以在 hybris/log/solr 下看到查询,但我也想在控制台运行时看到查询。

标签: hybrissap-commerce-cloud

解决方案


Hybris OOB 支持该功能,它将为您提供从 Hybris 到 Solr 服务器的完整查询。

这个类(de.hybris.platform.solrfacetsearch.search.context.listeners.SolrQueryDebuggingListener)将为您提供原始查询、解析的 Solr 查询、过滤查询和 Solr 查询说明(如果您使用任何配置,例如 score、boost、场重)。

如何启用它:-->

转到 SolrFacetSearchConfig--> 并将此侦听器 solrQueryDebuggingListener添加到侦听器列表中。

solr_log

Hybris 控制台日志::

    INFO  [hybrisHTTP16] [SolrQueryDebuggingListener] Raw Query: {!boost}(+{!lucene v=$yq})

INFO  [hybrisHTTP16] [SolrQueryDebuggingListener] Parsed Solr Query: +(DisjunctionMaxQuery(((variants_string_mv:0001)^20.0 | (ean_string:0001)^100.0 | (variantsSupercategory_text_zz_mv:0001)^50.0 | (keywords_text_zz:0001)^50.0 | (name_text_zz:0001)^90.0 | (code_string:0001)^90.0 | (categoryName_text_zz_mv:0001)^50.0 | (alias_string:0001)^90.0)) DisjunctionMaxQuery((variants_string_mv:0001* | variantsSupercategory_text_zz_mv:0001* | (name_text_zz:*0001*)^150.0 | (code_string:0001*)^45.0)) DisjunctionMaxQuery(((variants_string_mv:0001)^40.0 | (variantsSupercategory_text_zz_mv:0001)^40.0 | (name_text_zz:0001)^100.0)) DisjunctionMaxQuery(((name_text_zz:0001~1)^-1.0)))

INFO  [hybrisHTTP16] [SolrQueryDebuggingListener] Filter Queries: [sopOnly_boolean:false, ((soldIndividually_boolean:tzze) AND (testOrderable_boolean:tzze) AND (testSample_boolean:false) AND (yyyIsProductVisible_warehouse_xxx_boolean:tzze) AND (yyyAvailableToSellByDate_warehouse_xxx_boolean:tzze) AND ((((*:* -bundleOnlineFrom_date:*) OR (bundleOnlineFrom_date:[* TO 2021-05-13T15:09:36.856Z])) AND ((*:* -bundleOnlineTo_date:*) OR (bundleOnlineTo_date:[2021-05-13T15:09:36.857Z TO *]))) OR (((categoryName_text_en_mv:*) OR (brandName_text_en_mv:*)) AND ((*:* -productCategoryOnlineFrom_date:*) OR (productCategoryOnlineFrom_date:[* TO 2021-05-13T15:09:36.856Z])) AND ((*:* -productCategoryOnlineTo_date:*) OR (productCategoryOnlineTo_date:[2021-05-13T15:09:36.857Z TO *])) AND ((*:* -productOnlineFrom_date:*) OR (productOnlineFrom_date:[* TO 2021-05-13T15:09:36.856Z])) AND ((*:* -productOnlineTo_date:*) OR (productOnlineTo_date:[2021-05-13T15:09:36.857Z TO *]))))), ((stockQuantity_warehouse_xxx_long:* OR variants_string_mv:*)), ((stockQuantity_warehouse_xxx_long:* OR variantsSupercategory_text_en_mv:*)), (-restrictedTiers_string_mv:400), ((*:* NOT allowedUserGroups_string_mv:*) OR (allowedUserGroups_string_mv:(TP-zzS-AAA OR cls_dc9 OR testcustomergroup OR act_dst OR system_lom3 OR Twelve Percent OR test_AAA OR Nine Percent Award OR customergroup OR lge_ind))), ((*:* NOT allowedProductUserGroups_string_mv:*) OR (allowedProductUserGroups_string_mv:(TP-DDD-AAA OR cls_dc9 OR testcustomergroup OR act_dst OR system_lom3 OR Twelve Percent OR test_AAA OR Nine Percent Award OR customergroup OR lge_ind))), (allowedProductCategoryUserGroups_string_mv:(TP-DDD-AAA OR cls_dc9 OR testcustomergroup OR act_dst OR system_lom3 OR Twelve Percent OR test_AAA OR Nine Percent Award OR customergroup OR lge_ind)), ((isVariantProduct_boolean:false AND NOT testType_string:GROUP) OR {!parent which=(isVariantProduct_boolean:false) v=$childquery}), (catalogId:"ProductCatalog" AND catalogVersion:"Online"), priceValue_DDD-AAA_zzb_double:[0 TO *], priceStartTime_DDD-AAA_zzb_date:[* TO NOW], priceEndTime_DDD-AAA_zzb_date:[NOW TO *], -stockStatus_warehouse_xxx_string:noLongerAvailable]


INFO  [hybrisHTTP16] [SolrQueryDebuggingListener] Solr Query explanation: {ProductCatalog/Online/E0001RK=
90.0 = sum of:
  90.0 = max of:
    90.0 = weight(alias_string:0001 in 737) [SchemaSimilarity], result of:
      90.0 = score(doc=737,freq=1.0), product of:
        90.0 = boost
        1.0 = fieldWeight in 737, product of:
          1.0 = tf(freq=1.0), with freq of:
            1.0 = termFreq=1.0
          1.0 = idf, computed as log((docCount+1)/(docFreq+1)) + 1 from:
            2.0 = docFreq
            1621.0 = docCount
          1.0 = fieldNorm(doc=737)
}

推荐阅读