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

Which package should I enable to log the Solr query in the tomcat logs or the console?

SAP 商务 1905

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

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

包或 class 是 de.hybris.platform.solrfacetsearch.search.impl.DefaultFacetSearchStrategy

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

这个Class(de.hybris.platform.solrfacetsearch.search.context.listeners.SolrQueryDebuggingListener)会给你Raw Query, Parsed Solr Query,Filter Queries, and Solr query explanation(如果你正在使用任何配置,如得分、提升、场权)。

如何启用:-->

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

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)
}

在 local.properties/ 任何属性文件中添加以下记录器语句。

log4j2.logger.DefaultFacetSearchStrategy.name = de.hybris.platform.solrfacetsearch.search.impl.DefaultFacetSearchStrategy log4j2.logger.DefaultFacetSearchStrategy.level = 调试 log4j2.logger.DefaultFacetSearchStrategy.appenderRef.stdout.ref = 标准输出