2020-08-25 20:19发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 在我们的店面中,我... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,
在我们的店面中,我们还有使用阿拉伯语维护的" wire"产品。 在店面搜索中,如果键入" wire",则会得到结果,显示所有描述中包含单词WIRE的产品。
但是,如果我搜索的是阿拉伯语翻译,则结果与阿拉伯语的描述不符。
我检查了SOLR配置,发现未对关键字" WIRE"或同义词进行任何特殊配置。 还有其他需要设置的设置吗?
哈西卜。
填充搜索搜索查询时,它会使用当前会话语言: de.hybris.platform.commerceservices.search.solrfacetsearch.populators.SearchSolrQueryPopulator#populate
@Override public void populate(最终SearchQueryPageableData 源, 最终SolrSearchRequest 目标) { //设置SolrSearchRequest target.setSearchQueryData(source.getSearchQueryData()); target.setPageableData(source.getPageableData()); final Collection catalogVersions = getSessionProductCatalogVersions(); 如果(catalogVersions == null || catalogVersions.isEmpty()) { 抛出新的ConversionException("缺少solr facet搜索索引目录版本"); } target.setCatalogVersions(new ArrayList (catalogVersions)); 尝试 { target.setFacetSearchConfig(getFacetSearchConfig()); } 捕获(最终NoValidSolrConfigException e) { LOG.error("没有为当前上下文找到有效的solrFacetSearchConfig",e); 抛出新的ConversionException("没有为当前上下文找到有效的solrFacetSearchConfig",e); } 捕获(最终FacetConfigServiceException e) { LOG.error(e.getMessage(),e); 抛出新的ConversionException(e.getMessage(),e); } //我们只能搜索一个核,因此选择索引类型 target.setIndexedType(getIndexedType(target.getFacetSearchConfig())); //为配置创建solr搜索查询并键入(这将设置默认页面大小和排序顺序) SearchQuery searchQuery; 如果(target.getFacetSearchConfig()。getSearchConfig()。isLegacyMode()) { searchQuery = createSearchQueryForLegacyMode(target.getFacetSearchConfig(),target.getIndexedType(), source.getSearchQueryData()。getSearchQueryContext(),source.getSearchQueryData()。getFreeTextSearch()); } 其他 { searchQuery = createSearchQuery(target.getFacetSearchConfig(),target.getIndexedType(), source.getSearchQueryData()。getSearchQueryContext(),source.getSearchQueryData()。getFreeTextSearch()); } searchQuery.setCatalogVersions(target.getCatalogVersions()); searchQuery.setCurrency(getCommonI18NService()。getCurrentCurrency()。getIsocode()); searchQuery.setLanguage(getCommonI18NService()。getCurrentLanguage()。getIsocode()); //启用拼写检查器 searchQuery.setEnableSpellcheck(true); target.setSearchQuery(searchQuery); }
如果使用的是当前语言,则将使用文档中相应的本地化属性(例如name_text_en)。如果要使用其他语言,请使用OOTB-可以通过网站上的语言选择器进行更改。
谢谢Igor,
我们确实在网站上提供了语言选择,只有切换到阿拉伯语后,我才尝试使用相同语言搜索产品。 问题在于搜索结果,其中搜索关键字与检索到的结果不匹配。
最多设置5个标签!
填充搜索搜索查询时,它会使用当前会话语言:
de.hybris.platform.commerceservices.search.solrfacetsearch.populators.SearchSolrQueryPopulator#populate
如果使用的是当前语言,则将使用文档中相应的本地化属性(例如name_text_en)。如果要使用其他语言,请使用OOTB-可以通过网站上的语言选择器进行更改。
# p#谢谢Igor,
我们确实在网站上提供了语言选择,只有切换到阿拉伯语后,我才尝试使用相同语言搜索产品。 问题在于搜索结果,其中搜索关键字与检索到的结果不匹配。
哈西卜。
一周热门 更多>