From e5c47ba2c420cb5fde28281ecf4209ae3813e6d9 Mon Sep 17 00:00:00 2001 From: goulven Date: Thu, 5 Dec 2024 15:44:30 +0100 Subject: [PATCH] Verticals ! --- .../api/VerticalsGenerationController.java | 13 +- .../open4goods/api/services/BatchService.java | 4 +- .../services/VerticalsGenerationService.java | 150 +++++++---------- .../TaxonomyRealTimeAggregationService.java | 2 +- .../commons/config/yml/ui/VerticalConfig.java | 28 ++-- .../commons/dao/ProductRepository.java | 14 +- .../services/SerialisationService.java | 12 +- .../services/VerticalsConfigService.java | 110 ++++--------- .../src/main/resources/verticals/README.md | 9 -- .../resources/verticals/audio-amplifiers.yml | 21 ++- .../coffee-makers-espresso-machines.yml | 42 ++++- .../resources/verticals/computer-monitors.yml | 46 +++++- .../resources/verticals/curling-irons.yml | 29 +++- .../resources/verticals/electric-kettles.yml | 152 ++++++++++++++++++ .../main/resources/verticals/epilators.yml | 15 +- .../src/main/resources/verticals/freezers.yml | 19 ++- .../verticals/hair-clippers-trimmers.yml | 33 ++-- .../verticals/irons-ironing-systems.yml | 43 ++--- .../verticals/{ => ko}/desktop-computers.yml | 23 ++- .../resources/verticals/{ => ko}/dryers.yml | 33 ++-- .../src/main/resources/verticals/laptops.yml | 106 ++++++++---- .../printers-copiers-fax-machines.yml | 42 ++++- .../main/resources/verticals/projectors.yml | 34 ++-- .../resources/verticals/refrigerators.yml | 28 +++- .../verticals/{kettles.yml => scanners.yml} | 115 +++++++++---- verticals/src/main/resources/verticals/tv.yml | 54 +++---- .../src/main/resources/verticals/vacuums.yml | 58 ++++--- .../verticals/video-game-consoles.yml | 7 +- .../resources/verticals/washing-machines.yml | 100 ++++++++---- 29 files changed, 902 insertions(+), 440 deletions(-) delete mode 100644 verticals/src/main/resources/verticals/README.md create mode 100644 verticals/src/main/resources/verticals/electric-kettles.yml rename verticals/src/main/resources/verticals/{ => ko}/desktop-computers.yml (84%) rename verticals/src/main/resources/verticals/{ => ko}/dryers.yml (84%) rename verticals/src/main/resources/verticals/{kettles.yml => scanners.yml} (53%) diff --git a/api/src/main/java/org/open4goods/api/controller/api/VerticalsGenerationController.java b/api/src/main/java/org/open4goods/api/controller/api/VerticalsGenerationController.java index 8be923a08..63e6d5360 100644 --- a/api/src/main/java/org/open4goods/api/controller/api/VerticalsGenerationController.java +++ b/api/src/main/java/org/open4goods/api/controller/api/VerticalsGenerationController.java @@ -95,15 +95,6 @@ public void exportMapping() throws ResourceNotFoundException, IOException { } - - @GetMapping(path="/mappings/generate/verticals") - @Operation(summary="Generate verticals from the mapping") - @PreAuthorize("hasAuthority('"+RolesConstants.ROLE_ADMIN+"')") - public List generateVerticals() throws ResourceNotFoundException, IOException { - return verticalsGenService.generateVerticals(); - - } - @GetMapping(path="/assist/attributes/{vertical}") @Operation(summary="Generate attributes coverage for a vertical") @PreAuthorize("hasAuthority('"+RolesConstants.ROLE_ADMIN+"')") @@ -118,8 +109,8 @@ public VerticalAttributesStats generateAttributesCoverage(@PathVariable String v @Operation(summary="Generate the categories yaml fragment for a given match") @PreAuthorize("hasAuthority('"+RolesConstants.ROLE_ADMIN+"')") @Cacheable(keyGenerator = CacheConstants.KEY_GENERATOR, cacheNames = CacheConstants.ONE_HOUR_LOCAL_CACHE_NAME) - public String generateCategoryMappingsFragment(@RequestParam String category) throws ResourceNotFoundException, IOException { - return verticalsGenService.generateCategoryMappingFragmentFor(category); + public String generateCategoryMappingsFragment(@RequestParam String gtins) throws ResourceNotFoundException, IOException { + return verticalsGenService.generateCategoryMappingFragmentForGtin(gtins.split(",")); } diff --git a/api/src/main/java/org/open4goods/api/services/BatchService.java b/api/src/main/java/org/open4goods/api/services/BatchService.java index 7220272dd..95dc061cd 100644 --- a/api/src/main/java/org/open4goods/api/services/BatchService.java +++ b/api/src/main/java/org/open4goods/api/services/BatchService.java @@ -102,8 +102,8 @@ public void batch(VerticalConfig vertical) { logger.info("Loading products in memory for vertical {}", vertical); - // We take all products - allProducts = dataRepository.getProductsMatchingCategoriesOrVerticalId(vertical).collect(Collectors.toSet()); + // We take all products that are typed with the given vertical + allProducts = dataRepository.getProductsMatchingVerticalId(vertical).collect(Collectors.toSet()); logger.info("Sanitisation of {} products", allProducts); diff --git a/api/src/main/java/org/open4goods/api/services/VerticalsGenerationService.java b/api/src/main/java/org/open4goods/api/services/VerticalsGenerationService.java index 094a88351..ecfce1751 100644 --- a/api/src/main/java/org/open4goods/api/services/VerticalsGenerationService.java +++ b/api/src/main/java/org/open4goods/api/services/VerticalsGenerationService.java @@ -6,16 +6,19 @@ import java.util.ArrayList; import java.util.Comparator; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.Map.Entry; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import java.util.stream.Stream; import org.apache.commons.io.FileUtils; +import org.apache.commons.lang.NumberUtils; import org.apache.commons.lang3.StringUtils; import org.open4goods.api.config.yml.VerticalsGenerationConfig; import org.open4goods.api.model.VerticalAttributesStats; @@ -23,6 +26,7 @@ import org.open4goods.commons.config.yml.ui.ProductI18nElements; import org.open4goods.commons.config.yml.ui.VerticalConfig; import org.open4goods.commons.dao.ProductRepository; +import org.open4goods.commons.exceptions.ResourceNotFoundException; import org.open4goods.commons.helper.IdHelper; import org.open4goods.commons.model.product.Product; import org.open4goods.commons.services.EvaluationService; @@ -302,18 +306,6 @@ public Map getMappings() { return sortedMappings; } - - public List generateVerticals() { - List ret = new ArrayList(); - - sortedMappings.entrySet().stream() - .filter(e->e.getValue().getAssociatedCategories().size() > 3) - .forEach(cat -> { - ret.add(generateVertical(cat)); - }); - return ret; - } - /** @@ -340,48 +332,6 @@ public VerticalAttributesStats attributesStats(String vertical) { return ret; } - - /** - * Generate a vertical stub, using our matching categories detected and adding informations through AI - * @param cat - * @return - */ - private VerticalConfig generateVertical(Entry cat) { - - VerticalConfig v = new VerticalConfig(); - v.getMatchingCategories().add(cat.getKey()); - v.getMatchingCategories().addAll(cat.getValue().getAssociatedCategories().keySet()); - - Map datas = aiDatas(v); - - Integer resolvedTaxonomy = resolveGoogleTaxonomy(datas.get("googleTaxonomy")); - if (null != resolvedTaxonomy) { - v.setGoogleTaxonomyId(resolvedTaxonomy); - LOGGER.warn("solved taxonomy for {} - {} ({})", cat.getKey(), datas,googleTaxonomyService.getTaxonomyName(resolvedTaxonomy) ); - - String englishName = datas.get("englishName"); - String frenchName = datas.get("frenchName"); - - if (!StringUtils.isEmpty(englishName)) { - v.setId(IdHelper.brandName(englishName).toLowerCase()); - - ProductI18nElements fr = new ProductI18nElements(); - fr.setVerticalHomeUrl(frenchName); - // TODO(p1, features) : Complete with other datas - - v.getI18n().put("fr",fr ); - - } - - } else { - LOGGER.warn("Unsolved taxonomy for {} - {}", cat.getKey(), datas); - } - - return v; - } - - - /** * A prompt used to enrich the VerticalConfig * @param v @@ -416,35 +366,38 @@ Strictly according to english google product taxonomy (https://www.google.com/ba /** - * Resolve a google taxonomy ID - * @param string - * @return - */ - private Integer resolveGoogleTaxonomy(String string) { - Integer ret = googleTaxonomyService.resolve(string); - LOGGER.info("Resolved google taxonomy for {} : {}",string,null); - return ret; - } - - - - /** - * Generate the yaml fragment for a given category match - * @param category + * Generate the yaml categories mapping fragment from sample products + * @param gtin * @return */ - public String generateCategoryMappingFragmentFor(String category) { - - VerticalCategoryMapping mapping = sortedMappings.get(category); - - StringBuilder ret = new StringBuilder(); - ret.append("matchingCategories:").append("\n"); - ret.append(" - \"").append(category).append("\"\n"); - if (null != mapping) { - for (String cat : mapping.getAssociatedCategories().keySet()) { - ret.append(" - \"").append(cat).append("\"\n"); + public String generateCategoryMappingFragmentForGtin(String[] gtins) { + + Map> matchingCategories = new HashMap>(); + matchingCategories.put("all", new HashSet()); + + for (String gtin : gtins) { + Product sample; + try { + if (NumberUtils.isDigits(gtin.trim())) { + sample = repository.getById(Long.valueOf(gtin.trim())); + sample.getCategoriesByDatasources().entrySet().forEach(e -> { + if (!matchingCategories.containsKey(e.getKey())) { + matchingCategories.put(e.getKey(), new HashSet()); + } + matchingCategories.get(e.getKey()).add(e.getValue()); + + }); + } + } catch (Exception e) { + LOGGER.warn("Cannot generate matching categories data : {}", e); } } + + + Map retMAp = new HashMap(); + retMAp.put("matchingCategories", matchingCategories); + String ret = serialisationService.toYaml(retMAp); + ret = ret.replaceFirst("---", ""); return ret.toString(); } @@ -467,7 +420,8 @@ public String verticalTemplate(String id, String googleTaxonomyId, String matchi context.put("id",id ); context.put("googleTaxonomyId", googleTaxonomyId); - context.put("matchingCategories", generateCategoryMappingFragmentFor(matchingCategories)); + // Here is a tweak, we provide some sample products coma separated + context.put("matchingCategories", generateCategoryMappingFragmentForGtin(matchingCategories.split(","))); context.put("urlPrefix", urlPrefix); context.put("h1Prefix", h1Prefix); context.put("verticalHomeUrl", verticalHomeUrl); @@ -482,26 +436,30 @@ public String verticalTemplate(String id, String googleTaxonomyId, String matchi } - public void verticalTemplatetoFile(String googleTaxonomyId, String matchingCategories,String urlPrefix, String h1Prefix, String verticalHomeUrl, String verticalHomeTitle) { - - //TODO(p3, conf) : from conf - String id = IdHelper.normalizeFileName(googleTaxonomyService.getLocalizedTaxonomy().get("en").get(Integer.valueOf(googleTaxonomyId)).getLast()); + /** + * Generate a vertical to a local file + * + * @param googleTaxonomyId + * @param matchingCategories + * @param urlPrefix + * @param h1Prefix + * @param verticalHomeUrl + * @param verticalHomeTitle + */ + public void verticalTemplatetoFile(String googleTaxonomyId, String matchingCategories, String urlPrefix, String h1Prefix, String verticalHomeUrl, String verticalHomeTitle) { - File f = new File("/opt/open4goods/tmp/"); - f.mkdirs(); - f = new File(f.getAbsolutePath() + "/" + id+".yml"); - + // TODO(p3, conf) : from conf try { - + String id = IdHelper.normalizeFileName(googleTaxonomyService.byId(Integer.valueOf(googleTaxonomyId)).getGoogleNames().i18n("en")); + + File f = new File("/opt/open4goods/tmp/"); + f.mkdirs(); + f = new File(f.getAbsolutePath() + "/" + id + ".yml"); + FileUtils.write(f, verticalTemplate(id, googleTaxonomyId, matchingCategories, urlPrefix, h1Prefix, verticalHomeUrl, verticalHomeTitle)); } catch (IOException e) { - LOGGER.error("Error while writing template file", e); + LOGGER.error("Error while writing template file for gtaxonomy {} ", googleTaxonomyId, e); } - - } - - - - + } diff --git a/api/src/main/java/org/open4goods/api/services/aggregation/services/realtime/TaxonomyRealTimeAggregationService.java b/api/src/main/java/org/open4goods/api/services/aggregation/services/realtime/TaxonomyRealTimeAggregationService.java index b693d8e98..21e4690f7 100644 --- a/api/src/main/java/org/open4goods/api/services/aggregation/services/realtime/TaxonomyRealTimeAggregationService.java +++ b/api/src/main/java/org/open4goods/api/services/aggregation/services/realtime/TaxonomyRealTimeAggregationService.java @@ -75,7 +75,7 @@ public void onProduct(Product data, VerticalConfig vConf) throws AggregationSkip //////////////////////////// // Setting vertical from category //////////////////////////// - VerticalConfig vertical = verticalService.getVerticalForCategories(data.getDatasourceCategories()); + VerticalConfig vertical = verticalService.getVerticalForCategories(data.getCategoriesByDatasources()); if (null != vertical) { if ( null != data.getVertical() && !vertical.getId().equals(data.getVertical())) { dedicatedLogger.warn("Will erase existing vertical {} with {} for product {}, because of category {}", data.getVertical(), vertical.getId(), data.bestName()); diff --git a/commons/src/main/java/org/open4goods/commons/config/yml/ui/VerticalConfig.java b/commons/src/main/java/org/open4goods/commons/config/yml/ui/VerticalConfig.java index 22180bab3..9279dfca8 100644 --- a/commons/src/main/java/org/open4goods/commons/config/yml/ui/VerticalConfig.java +++ b/commons/src/main/java/org/open4goods/commons/config/yml/ui/VerticalConfig.java @@ -91,14 +91,15 @@ public class VerticalConfig{ /** - * The categories that MUST BE PRESENT to associate to this vertical + * The categories that MUST BE PRESENT to associate to this vertical. Prefixed by datasource on which it applies, using "all" for all datasources */ - private Set matchingCategories = new HashSet<>(); + private Map> matchingCategories = new HashMap<>(); + /** * The categories that MUST NOT BE PRESENT to associate to this vertical */ - private Set unmatchingCategories = new HashSet<>(); +// private Set unmatchingCategories = new HashSet<>(); /** * The attributes that must be present. If not, the product will have excluded set to true @@ -616,24 +617,21 @@ public void setScoringAggregationConfig(ScoringAggregationConfig scoringAggregat this.scoringAggregationConfig = scoringAggregationConfig; } - - - - public Set getMatchingCategories() { + public Map> getMatchingCategories() { return matchingCategories; } - public void setMatchingCategories(Set matchingCategories) { + public void setMatchingCategories(Map> matchingCategories) { this.matchingCategories = matchingCategories; } - - public Set getUnmatchingCategories() { - return unmatchingCategories; - } - public void setUnmatchingCategories(Set unmatchingCategories) { - this.unmatchingCategories = unmatchingCategories; - } +// public Set getUnmatchingCategories() { +// return unmatchingCategories; +// } +// +// public void setUnmatchingCategories(Set unmatchingCategories) { +// this.unmatchingCategories = unmatchingCategories; +// } public Map getEcoscoreConfig() { return ecoscoreConfig; diff --git a/commons/src/main/java/org/open4goods/commons/dao/ProductRepository.java b/commons/src/main/java/org/open4goods/commons/dao/ProductRepository.java index 1cc50d0e8..42d9f24ca 100644 --- a/commons/src/main/java/org/open4goods/commons/dao/ProductRepository.java +++ b/commons/src/main/java/org/open4goods/commons/dao/ProductRepository.java @@ -126,11 +126,7 @@ public ProductRepository(IndexationConfig indexationConfig) { */ public Stream getProductsMatchingCategoriesOrVerticalId(VerticalConfig v) { Criteria c = new Criteria("datasourceCategories").in(v.getMatchingCategories()) - // TODO : Add exclusion -// .and(new Criteria("datasourceCategories").notIn(v.getMatchingCategories())) .or(new Criteria("vertical").is(v.getId())); -// TODO : Add or get by taxonomyId - final NativeQuery initialQuery = new NativeQueryBuilder().withQuery(new CriteriaQuery(c)).build(); @@ -139,6 +135,16 @@ public Stream getProductsMatchingCategoriesOrVerticalId(VerticalConfig } + public Stream getProductsMatchingVerticalId(VerticalConfig v) { + Criteria c = new Criteria("vertical").is(v.getId()); + + final NativeQuery initialQuery = new NativeQueryBuilder().withQuery(new CriteriaQuery(c)).build(); + + return elasticsearchOperations.searchForStream(initialQuery, Product.class, current_index).stream() + .map(SearchHit::getContent); + + } + /** * Export all aggregated data * diff --git a/commons/src/main/java/org/open4goods/commons/services/SerialisationService.java b/commons/src/main/java/org/open4goods/commons/services/SerialisationService.java index 624474adf..9e2509358 100644 --- a/commons/src/main/java/org/open4goods/commons/services/SerialisationService.java +++ b/commons/src/main/java/org/open4goods/commons/services/SerialisationService.java @@ -4,9 +4,7 @@ import java.io.InputStream; import java.util.HashMap; import java.util.Map; -import java.util.Set; -import org.open4goods.commons.model.data.DataFragment; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -19,8 +17,10 @@ import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.type.CollectionType; import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; +import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator; @Service public class SerialisationService { @@ -38,11 +38,13 @@ public class SerialisationService { private final ObjectWriter jsonMapperWithPretttyPrint = new ObjectMapper().writerWithDefaultPrettyPrinter(); - private final ObjectMapper yamlMapper = new ObjectMapper(new YAMLFactory()) + private final ObjectMapper yamlMapper = new ObjectMapper(new YAMLFactory() .disable(YAMLGenerator.Feature.SPLIT_LINES)) .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) - .setSerializationInclusion(Include.NON_EMPTY) - .setSerializationInclusion(Include.NON_NULL); + .setSerializationInclusion(Include.NON_NULL) + .enable(SerializationFeature.INDENT_OUTPUT) + + ; public SerialisationService() { super(); diff --git a/commons/src/main/java/org/open4goods/commons/services/VerticalsConfigService.java b/commons/src/main/java/org/open4goods/commons/services/VerticalsConfigService.java index 6fc27654d..f8420b3ee 100644 --- a/commons/src/main/java/org/open4goods/commons/services/VerticalsConfigService.java +++ b/commons/src/main/java/org/open4goods/commons/services/VerticalsConfigService.java @@ -8,6 +8,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutorService; @@ -32,8 +33,6 @@ * This service is in charge to provide the Verticals configurations. * Configurations are provided from the classpath AND from a git specific * project (fresh local clone on app startup) - * TODO : Should be in the verticals sub projetc - * TODO : Should not have a dep to gtaxonomy * @author goulven * */ @@ -50,7 +49,8 @@ public class VerticalsConfigService { private final Map configs = new ConcurrentHashMap<>(100); - private final Map categoriesToVertical = new ConcurrentHashMap<>(); + // The cache of categories to verticalconfig association. datasource (or all) -> category -> VerticalConfig + private final Map> categoriesToVertical = new ConcurrentHashMap<>(); private Map byUrl = new HashMap<>(); @@ -128,19 +128,34 @@ public synchronized void loadConfigs() { // Associating categoriesToVertical synchronized (categoriesToVertical) { categoriesToVertical.clear(); - configs.values().forEach(c -> c.getMatchingCategories().forEach(cc -> categoriesToVertical.put(cc, c))); + configs.values().forEach(c -> c.getMatchingCategories().entrySet().forEach(cc -> { + try { + if (!categoriesToVertical.containsKey(cc.getKey())) { + categoriesToVertical.put(cc.getKey(), new HashMap()); + } + if (null != cc.getValue()) { + cc.getValue().forEach(cat -> { + categoriesToVertical.get(cc.getKey()).put(cat, c); + }); + } + } catch (Exception e) { + logger.error("Error loading categories matching map : {}",c,e); + } + + })); } + // Associati + + // Mapping url to i18n getConfigsWithoutDefault().forEach(vc -> vc.getI18n().forEach((key, value) -> { toLang.put(value.getVerticalHomeUrl(), key); byUrl.put(value.getVerticalHomeUrl(), vc); byTaxonomy.put(vc.getGoogleTaxonomyId(), vc); -// verticalUrlByLanguage.put(key, value); })); - generateImagesForVerticals(vConfs); } @@ -193,52 +208,34 @@ public VerticalConfig getConfig(InputStream inputStream, VerticalConfig defaul) return ret; } -// /** Add a config from api endpoint **/ -// public void addTmpConfig(VerticalConfig vc) { -// -// try { -// logger.warn("Adding a non versionned vertical config file. Have to do a PR on open4goods-config to persist it"); -// File dest = new File(verticalsFolder + File.separator + vc.getId() + ".yml"); -// serialisationService.getYamlMapper().writeValue(dest, vc); -// -// // Reload configs -// loadConfigs(); -// } catch (Exception e) { -// logger.error("Cannot persist vertical config", e); -// } -// } - /** - * Instanciate a vertical config for a given category name - * TODO : Performance : cache the result : https://stackoverflow.com/questions/44529029/spring-cache-with-collection-of-items-entities + * Instanciate a vertical config for a given categories bag * @param inputStream * @param existing * @return * @throws IOException */ -// @Cacheable(key = "#root.methodName + ':' + #categories", cacheNames = CacheConstants.FOREVER_LOCAL_CACHE_NAME) - // ISSUE : Performance issue here, cache as a unique hash of categories - // TODO : Performance issue here, cache as a unique hash of categories - //labels:bug,perf - public VerticalConfig getVerticalForCategories(Set categories) { + public VerticalConfig getVerticalForCategories(Map productCategoriessByDatasource) { - VerticalConfig vc = null; - for (String category : categories) { - vc = categoriesToVertical.get(category); - - // Discarding if unmatching category - if (null != vc) { - if (!Collections.disjoint(vc.getUnmatchingCategories(), categories)) { - vc = null; + for (Entry category : productCategoriessByDatasource.entrySet()) { + // Searching in the specific category + Map keys = categoriesToVertical.get(category.getKey()); + if (null != keys) { + + vc = keys.get(category.getValue()); + if (null != vc) { break; } } - + + // Searching in the ALL category + vc = categoriesToVertical.get("all").get(category.getValue()); if (null != vc) { break; } + } return vc; @@ -256,12 +253,6 @@ public VerticalConfig getVerticalForPath(String path) { } - public String getLanguageForPath(String vertical) { - // TODO Auto-generated method stub - return null; - } - - /** * Return the path for a vertical language, if any @@ -289,7 +280,7 @@ public VerticalConfig getDefaultConfig() { /** * Return a config by it's icecat categoryId * @param icecatCategoryId - * TODO : PErf : Maintain a map for key/val access + * TODO(p2,perf) : Maintain a map for key/val access * @return */ public VerticalConfig getByIcecatCategoryId(Integer icecatCategoryId) { @@ -393,37 +384,6 @@ public Map getConfigs() { } - /** - * Submits tasks to generate images for each vertical configuration using ExecutorService. - * Images are generated only if they do not already exist or if forceOverride is enabled. - * - * @param vConfs A map of vertical configurations. - */ - private void generateImagesForVerticals(Map vConfs) { - - //TODO(P1,design) : disabling genai for now - // vConfs.values().forEach(vc -> executorService.submit(() -> { -// String fileName = vc.getId() + ".png"; -// if (!imageGenerationService.shouldGenerateImage(fileName)) { -// logger.info("Image for vertical {} already exists with file name {}. Skipping generation.", vc.getId(), fileName); -// return; -// } -// -// String threadName = Thread.currentThread().getName(); -// logger.info("Starting image generation for vertical {} in thread {}", vc.getId(), threadName); -// -// try { -// //TODO(p3,i18n) ! i18n -// String verticalTitle = vc.getI18n().get("fr").getVerticalHomeTitle(); -// imageGenerationService.fullGenerate(verticalTitle, fileName); -// logger.info("Generated and saved image for vertical {} with file name {} in thread {}", vc.getId(), fileName, threadName); -// } catch (Exception e) { -// logger.error("Failed to generate or save image for vertical {} in thread {}", vc.getId(), threadName, e); -// } -// })); - } - - /** * Shuts down the ExecutorService gracefully, waiting for existing tasks to complete. * If the tasks do not complete within the timeout, it forces a shutdown. diff --git a/verticals/src/main/resources/verticals/README.md b/verticals/src/main/resources/verticals/README.md deleted file mode 100644 index 48dfc9ab4..000000000 --- a/verticals/src/main/resources/verticals/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# open4goods-verticals -The verticals yaml configuration files - -> TODO : Documentation - -Automatically fetched from UI and API. - - -They inherits the "_default.yml" configuration file diff --git a/verticals/src/main/resources/verticals/audio-amplifiers.yml b/verticals/src/main/resources/verticals/audio-amplifiers.yml index 3f712f64f..243db2cd4 100644 --- a/verticals/src/main/resources/verticals/audio-amplifiers.yml +++ b/verticals/src/main/resources/verticals/audio-amplifiers.yml @@ -21,13 +21,22 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "HIFI | AMPLIFICATEUR" - - "SON & HIFI & LECTEURS MP3 - AMPLIFICATEUR | APPAREILS ELECTRONIQUES > AUDIO > COMPOSANTS AUDIO > AMPLIFICATEURS AUDIO" - - "AUDIO, HIFI, CASQUE / ELEMENTS SEPARES HIFI / AMPLIFICATEUR HI-FI | AUDIO, HIFI, CASQUE>ELEMENTS SEPARES HIFI>AMPLIFICATEUR HI-FI | ELEMENTS SEPARES HIFI | AMPLIFICATEUR HI-FI" - - "TV - VIDEO - SON | TV - VIDEO - SON > AMPLIFICATEUR - ENCEINTES > AMPLIFICATEUR HIFI | AMPLIFICATEUR - ENCEINTES | AMPLIFICATEUR HIFI" - - "AMPLI HIFI" - - "AUDIO, HIFI, CASQUE | ELEMENTS SEPARES HIFI" + all: [] +# Darty Pro - Cashback: +# - "AUDIO, HIFI, CASQUE | ELEMENTS SEPARES HIFI" + rueducommerce.fr: + - "AMPLI HIFI" + darty.com: + - "AUDIO, HIFI, CASQUE / ELEMENTS SEPARES HIFI / AMPLIFICATEUR HI-FI | AUDIO, HIFI, CASQUE>ELEMENTS SEPARES HIFI>AMPLIFICATEUR HI-FI | ELEMENTS SEPARES HIFI | AMPLIFICATEUR HI-FI" + - "5 | AUDIO EQUIPMENT | AUDIO, HIFI, CASQUE | AUDIO, HIFI, CASQUE>ELEMENTS SEPARES HIFI>AMPLIFICATEUR HI-FI | ELEMENTS SEPARES HIFI | AUDIO, HIFI, CASQUE" + rakuten.com-csv.yml: + - "HIFI | AMPLIFICATEUR" + fnac.com: + - "SON & HIFI & LECTEURS MP3 - AMPLIFICATEUR | APPAREILS ELECTRONIQUES > AUDIO > COMPOSANTS AUDIO > AMPLIFICATEURS AUDIO" + cdiscount.com: + - "TV - VIDEO - SON | TV - VIDEO - SON > AMPLIFICATEUR - ENCEINTES > AMPLIFICATEUR HIFI | AMPLIFICATEUR - ENCEINTES | AMPLIFICATEUR HIFI" diff --git a/verticals/src/main/resources/verticals/coffee-makers-espresso-machines.yml b/verticals/src/main/resources/verticals/coffee-makers-espresso-machines.yml index 400c162d7..7509a71e8 100644 --- a/verticals/src/main/resources/verticals/coffee-makers-espresso-machines.yml +++ b/verticals/src/main/resources/verticals/coffee-makers-espresso-machines.yml @@ -21,8 +21,48 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "ELECTROMENAGER | ELECTROMENAGER > PETIT ELECTROMENAGER > MACHINE A CAFE > CAFETIERE EXPRESSO | CAFETIERE EXPRESSO" + all: [] +# Darty Pro - Cashback: +# - "PETIT ELECTROMENAGER CUISINE | CAFETIERE, EXPRESSO ET MACHINE A CAFE" + Electrodepot - Guides et Comparateurs: + - "ELECTRO DEPOT | MACHINE A CAFE | MACHINE A DOSETTES, CAPSULES" +# - "ELECTRO DEPOT | MACHINE A CAFE | MACHINE A CAFE A GRAIN" +# Maisons du monde France: +# - "ART DE LA TABLE | VAISSELLE | THEIERES" +# rueducommerce.fr: +# - "EXPRESSO & CAFETIERE" +# ComptoirsRichard - Standard: +# - "- | BIALETTI" +# WelcomeOffice.com: +# - "PETIT ELECTROMENAGER" + darty.com: + - "PETIT ELECTROMENAGER CUISINE | PETIT ELECTROMENAGER CUISINE>CAFETIERE, EXPRESSO ET MACHINE A CAFE>EXPRESSO AVEC BROYEUR | CAFETIERE, EXPRESSO ET MACHINE A CAFE | PETIT ELECTROMENAGER CUISINE" +# - "PETIT ELECTROMENAGER CUISINE / CAFETIERE, EXPRESSO ET MACHINE A CAFE / CAFETIERE FILTRE | PETIT ELECTROMENAGER CUISINE>CAFETIERE, EXPRESSO ET MACHINE A CAFE>CAFETIERE FILTRE | CAFETIERE, EXPRESSO ET MACHINE A CAFE | CAFETIERE FILTRE" + - "PETIT ELECTROMENAGER CUISINE | PETIT ELECTROMENAGER CUISINE>CAFETIERE, EXPRESSO ET MACHINE A CAFE>EXPRESSO | CAFETIERE, EXPRESSO ET MACHINE A CAFE | PETIT ELECTROMENAGER CUISINE" +# rakuten.com-csv.yml: +# - "ELECTROMENAGER | PETIT-DEJEUNER" +# fnac.com: +# - "PETIT MENAGER & CUISINE CUISSON PEM" + cdiscount.com: +# - "430 | KITCHEN | ART DE LA TABLE - ARTICLES CULINAIRES | ART DE LA TABLE - ARTICLES CULINAIRES > SERVICE PETIT DEJEUNER > CAFETIERE - THEIERE - CHOCOLATIERE | SERVICE PETIT DEJEUNER | CAFETIERE - THEIERE - CHOCOLATIERE" + - "ELECTROMENAGER | ELECTROMENAGER > PETIT DEJEUNER - CAFE > MACHINE A CAFE DOSETTE - CAPSULE | PETIT DEJEUNER - CAFE | MACHINE A CAFE DOSETTE - CAPSULE" + - "ELECTROMENAGER | ELECTROMENAGER > PETIT DEJEUNER - CAFE > MACHINE A CAFE EXPRESSO BROYEUR | PETIT DEJEUNER - CAFE | MACHINE A CAFE EXPRESSO BROYEUR" +# Joom FR: +# - "HOME APPLIANCES > KITCHEN APPLIANCES > COFFEE MAKERS & COFFEE MACHINES" + alternate FR: + - "390 | COFFEE MAKERS | MACHINE A CAFE > MACHINE A ESPRESSO" +# - "390 | COFFEE MAKERS | MACHINE A CAFE > MACHINE A CAFE AUTOMATIQUE" +# JPG - Cashback & Reward: +# - "PETIT ELECTROMENAGER | PETIT ELECTROMENAGER" + Castorama FR: +# - "CAFETIERE A GRAIN | MAGASIN CASTORAMA > CUISINE > PETIT ELECTROMENAGER > CAFETIERE > CAFETIERE A GRAIN | CUISINE | PETIT ELECTROMENAGER" +# - "CAFETIERE ITALIENNE | MAGASIN CASTORAMA > CUISINE > PETIT ELECTROMENAGER > CAFETIERE > CAFETIERE ITALIENNE | CUISINE | PETIT ELECTROMENAGER" + manomano.fr: +# - "ELECTROMENAGER | ELECTROMENAGER > PETIT ELECTROMENAGER > MACHINE A CAFE > MACHINE A CAFE A GRAIN | MACHINE A CAFE A GRAIN" + - "ELECTROMENAGER | ELECTROMENAGER > PETIT ELECTROMENAGER > MACHINE A CAFE > MACHINE A CAFE A CAPSULE | MACHINE A CAFE A CAPSULE" + - "ELECTROMENAGER | ELECTROMENAGER > PETIT ELECTROMENAGER > MACHINE A CAFE > CAFETIERE EXPRESSO | CAFETIERE EXPRESSO" diff --git a/verticals/src/main/resources/verticals/computer-monitors.yml b/verticals/src/main/resources/verticals/computer-monitors.yml index 834a03c48..eeaa0d404 100644 --- a/verticals/src/main/resources/verticals/computer-monitors.yml +++ b/verticals/src/main/resources/verticals/computer-monitors.yml @@ -21,8 +21,50 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "INFORMATIQUE / ECRAN / ECRAN PC | INFORMATIQUE>ECRAN>ECRAN PC | ECRAN | ECRAN PC" + all: [] + Darty Pro - Cashback: + - "INFORMATIQUE | ECRAN" + rueducommerce.fr: + - "ECRAN PC" + WelcomeOffice.com: + - "ECRAN D'ORDINATEUR" + darty.com: + - "INFORMATIQUE | INFORMATIQUE>ECRAN>ECRAN PC | ECRAN | INFORMATIQUE" + - "INFORMATIQUE / ECRAN / ECRAN PC | INFORMATIQUE>ECRAN>ECRAN PC | ECRAN | ECRAN PC" + rakuten.com-csv.yml: + - "INFORMATIQUE | ECRAN" +# fnac.com: +# - "INFORMATIQUE - ECRAN | APPAREILS ELECTRONIQUES > VIDEO > ACCESSOIRES VIDEO > ACCESSOIRES POUR TELEVISEURS" +# - "INFORMATIQUE - MONITEUR | APPAREILS ELECTRONIQUES > VIDEO > ACCESSOIRES VIDEO > ACCESSOIRES POUR TELEVISEURS" + cdiscount.com: + - "65 | INPUT DEVICES | INFORMATIQUE | INFORMATIQUE > ECRAN - ENCEINTE > ECRAN ORDINATEUR | ECRAN - ENCEINTE | ECRAN ORDINATEUR" +# - "65 | INPUT DEVICES | INFORMATIQUE | INFORMATIQUE > PERIPHERIQUE PC > LECTEUR EMPREINTE DIGITALE | PERIPHERIQUE PC | LECTEUR EMPREINTE DIGITALE" + Joom FR: + - "ELECTRONICS > COMPUTERS & ACCESSORIES > COMPUTER PERIPHERALS > MONITORS" + alternate FR: + - "85 | MONITORS | TV & MONITEUR > MONITEUR" +# JPG - Cashback & Reward: +# - "MONITEURS | ACCESSOIRES ORDINATEURS & PERIPHERIQUES" + grosbill.com: + - "ECRAN PC > IIYAMA" + - "ECRAN PC > DELL" + - "ECRAN PC > PHILIPS" + - "ECRAN PC > ASUS" + - "ECRAN PC > SAMSUNG" + Inmac - Cashbackeurs: + - "IT | MONITEURS | MONITEUR 22'' - 23''" + - "IT | MONITEURS | MONITEUR BUREAUTIQUE + DE 32''" + - "IT | MONITEURS | MONITEUR AFFICHAGE COLLABORATIF" + - "IT | MONITEURS | MONITEUR 24'' - 26''" + - "IT | MONITEURS | MONITEUR 27'' - 30''" + - "IT | MONITEURS | MONITEUR - DE 22''" +# manomano.fr: +# - "ELECTROMENAGER | ELECTROMENAGER > PETIT ELECTROMENAGER > EAU - BOISSON - GLACON > MACHINE A SODA ET EAU GAZEUSE | MACHINE A SODA ET EAU GAZEUSE" +# e.leclerc: +# - "HIGH-TECH | HIGH-TECH>MARQUES HIGH-TECH>SAMSUNG HIGH-TECH>SAMSUNG MONITEURS>MONITEURS GAMING SAMSUNG>GAMME ODYSSEY SAMSUNG | MARQUES HIGH-TECH | SAMSUNG HIGH-TECH" +# - "HIGH-TECH | HIGH-TECH>INFORMATIQUE - TABLETTE>GAMING>ECRAN PC GAMER | INFORMATIQUE - TABLETTE | GAMING" @@ -57,7 +99,7 @@ i18n: ################################## # url for vertical (appened to baseUrl). No templating here - verticalHomeUrl: "ecrans-ordinateur" + verticalHomeUrl: "ecran-ordinateur" # Text displaid as title for the vertical # TODO : Make verticalHomeTitle/ verticalHomeDescription templatable verticalHomeTitle: "Ecrans" diff --git a/verticals/src/main/resources/verticals/curling-irons.yml b/verticals/src/main/resources/verticals/curling-irons.yml index b6f8a6134..f9d8c62b2 100644 --- a/verticals/src/main/resources/verticals/curling-irons.yml +++ b/verticals/src/main/resources/verticals/curling-irons.yml @@ -21,8 +21,35 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "BEAUTE, FORME ET SANTE / COIFFURE / FER A BOUCLER | BEAUTE, FORME ET SANTE>COIFFURE>FER A BOUCLER | COIFFURE | FER A BOUCLER" + all: [] +# Darty Pro - Cashback: +# - "BEAUTE, FORME ET SANTE | COIFFURE" +# "2echoix": +# - "BEAUTE & SANTE > HYGIENE CORPORELLE > SOINS & COIFFURE DES CHEVEUX | BEAUTE & SANTE > HYGIENE CORPORELLE > SOINS & COIFFURE DES CHEVEUX" + rueducommerce.fr: +# - "LISSEUR" + - "APPAREIL A FRISER" + Nocibé - Guides d'achat: +# - "LISSEUR | OUTILS COIFFANTS | CHEVEUX" + - "BOUCLEUR | OUTILS COIFFANTS | CHEVEUX" + darty.com: + - "BEAUTE, FORME ET SANTE | BEAUTE, FORME ET SANTE>COIFFURE>FER A BOUCLER | COIFFURE | BEAUTE, FORME ET SANTE" +# - "BEAUTE, FORME ET SANTE / COIFFURE / LISSEUR | BEAUTE, FORME ET SANTE>COIFFURE>LISSEUR | COIFFURE | LISSEUR" +# - "BEAUTE, FORME ET SANTE | BEAUTE, FORME ET SANTE>COIFFURE>LISSEUR | COIFFURE | BEAUTE, FORME ET SANTE" +# fnac.com: +# - "PETIT MENAGER & CUISINE COIFFURE" +# - "PETIT MENAGER & CUISINE - COIFFURE" + cdiscount.com: +# - "ELECTROMENAGER | ELECTROMENAGER > COIFFURE > LISSEUR - PINCE - FER A LISSER | COIFFURE | LISSEUR - PINCE - FER A LISSER" + - "ELECTROMENAGER | ELECTROMENAGER > COIFFURE > FER A FRISER - FER A BOUCLER | COIFFURE | FER A FRISER - FER A BOUCLER" +# Joom FR: +# - "HOME APPLIANCES > BEAUTY & HEALTH ELECTRONICS > STRAIGHTENING IRONS" + e.leclerc: + - "HIGH-TECH | ELECTROMENAGER>PETIT ELECTROMENAGER>BEAUTE, SANTE & BIEN-ETRE>COIFFURE>FER A BOUCLER | PETIT ELECTROMENAGER | BEAUTE, SANTE & BIEN-ETRE" +# - "HIGH-TECH | ELECTROMENAGER>PETIT ELECTROMENAGER>BEAUTE, SANTE & BIEN-ETRE>COIFFURE>LISSEUR | PETIT ELECTROMENAGER | BEAUTE, SANTE & BIEN-ETRE" +# - "HIGH-TECH | IDEES CADEAUX>IDEES CADEAUX SPECIAL FETE DES MERES >IDEES CADEAUX SPECIAL FETE DES MERES BEAUTE | IDEES CADEAUX SPECIAL FETE DES MERES | IDEES CADEAUX SPECIAL FETE DES MERES BEAUTE" diff --git a/verticals/src/main/resources/verticals/electric-kettles.yml b/verticals/src/main/resources/verticals/electric-kettles.yml new file mode 100644 index 000000000..746ccac12 --- /dev/null +++ b/verticals/src/main/resources/verticals/electric-kettles.yml @@ -0,0 +1,152 @@ +#################################################################################################################################################################### +# +# This is the configuration for the ELECTRIC-KETTLES vertical. +# Generated on the vertical.yml template file, using the VerticalsGenerationService.verticalTemplate() +# @See open4goods/commons/src/main/java/org/open4goods/config/yml/ui/VerticalConfig.java for commented POJO definition +################################################################################################################################################################### + +# Unique identifier for this vertical. +# MUST contains only charracters +# SHOULD be equal to the configuration file name, without the extension +id: electric-kettles + +# The associated google taxonomyID. (Ex : FR - https://www.google.com/basepages/producttype/taxonomy-with-ids.fr-FR.txt) +# SHOULD be set, it will then force this taxonomy for all products in this vertical +googleTaxonomyId: 751 + +# Indicates if the vertical must be UI / sitemap / search rendered +enabled: false + +############################################################################## +# Product classification from categories +############################################################################## +# Will associate to this vertical if one of the following categorie is present for the product + +matchingCategories: + all: [] +# Darty Pro - Cashback: +# - "PETIT ELECTROMENAGER CUISINE | THEIERE ET BOUILLOIRE" + rueducommerce.fr: + - "BOUILLOIRE" + darty.com: + - "PETIT ELECTROMENAGER CUISINE / THEIERE ET BOUILLOIRE / BOUILLOIRE | PETIT ELECTROMENAGER CUISINE>THEIERE ET BOUILLOIRE>BOUILLOIRE | THEIERE ET BOUILLOIRE | BOUILLOIRE" + - "PETIT ELECTROMENAGER CUISINE | PETIT ELECTROMENAGER CUISINE>THEIERE ET BOUILLOIRE>BOUILLOIRE | THEIERE ET BOUILLOIRE | PETIT ELECTROMENAGER CUISINE" +# rakuten.com-csv.yml: +# - "ELECTROMENAGER | PETIT-DEJEUNER" +# fnac.com: +# - "PETIT MENAGER & CUISINE CUISSON PEM" +# - "PETIT MENAGER & CUISINE - CUISSON PEM" + cdiscount.com: + - "ELECTROMENAGER | ELECTROMENAGER > PETIT DEJEUNER - CAFE > BOUILLOIRE ELECTRIQUE | PETIT DEJEUNER - CAFE | BOUILLOIRE ELECTRIQUE" + Joom FR: + - "HOME APPLIANCES > KITCHEN ELECTRONICS > ELECTRIC KETTLES" + icecat.biz.yml: + - "BOUILLOIRES" +# "2echoix": +# - "MAISON & CUISINE > CUISINE & ARTS DE LA TABLE > THE & CAFE | MAISON & CUISINE > CUISINE & ARTS DE LA TABLE > THE & CAFE" + Castorama FR: + - "BOUILLOIRE ELECTRIQUE | MAGASIN CASTORAMA > CUISINE > PETIT ELECTROMENAGER > BOUILLOIRE > BOUILLOIRE ELECTRIQUE | CUISINE | PETIT ELECTROMENAGER" + manomano.fr: + - "ELECTROMENAGER | ELECTROMENAGER > PETIT ELECTROMENAGER > PETIT DEJEUNER > BOUILLOIRE | BOUILLOIRE" + e.leclerc: + - "HIGH-TECH | ELECTROMENAGER>PETIT ELECTROMENAGER>APPAREILS ELECTROMENAGERS DE CUISINE>PETIT DEJEUNER>BOUILLOIRE | PETIT ELECTROMENAGER | APPAREILS ELECTROMENAGERS DE CUISINE" +# - "HIGH-TECH | ELECTROMENAGER>MARQUES ELECTROMENAGER>MOULINEX | MARQUES ELECTROMENAGER | MOULINEX" + + + +##################################################################################################################################### +# I18N CONFIGURATION +# Configure in a i18n way all the texts of a product, including the Url, the title, the description, the open graph metas, .... +# Use a micro templated language, that allows to introduce variables and "if condition", which allows to generate dynamic texts +###################################################################################################################################### +i18n: + fr: + # The layout a product url will have. Ex : 81234555-tv-led-samsung-QL659P 2023 + url: + # We can add a custom prefix (with our conditional templating language if we want) + prefix: "bouilloire" + # Then we add some attributes values with hyphens if present (ex : led-samsung-QL659P-2023) + attrs: + - BRAND + - MODEL + ################################## + # Product page meta and h1 title + ################################## + # The product h1 title. Constructed on the same basis than "url", but without the concatened hyphens + h1Title: + prefix: "Bouilloire" + attrs: + - BRAND + - MODEL + - YEAR + + ################################## + # Vertical page elements + ################################## + + # url for vertical (appened to baseUrl). No templating here + verticalHomeUrl: "bouilloires" + # Text displaid as title for the vertical + # TODO : Make verticalHomeTitle/ verticalHomeDescription templatable + verticalHomeTitle: "Bouilloires" + # Text displaid as title for the vertical + # verticalHomeDescription: "" + + # A mapping beetween custom page names behind this vertical and wiki pages + # Copy and paste the wiki wiew url, without the "bin/view" prefix +# wikiPages: +# - wikiUrl: /verticals/tv/technologies-tv/WebHome +# verticalUrl: "oled-qled-lcd-que-choisir" +# title: "OLED, QLED,LCD, ... Quelle technologie choisir ?" +# faIcon: "fa-star" + + +# GenAiConfig for this vertical +genAiConfig: + # If false, will bypass the generativ ia texts generation + enabled: false + + +############################################################################## +# Eco score configuration +# Specify here the specific ecoscore for this vertical. Format : +# >> EXISTING_SCORE: WEIGHT +# Weight sum MUST BE equals to 1 +############################################################################## + +#ecoscoreConfig: +# CLASSE_ENERGY : 0.3 +# WEIGHT: 0.3 +# BRAND_SUSTAINABILITY: 0.3 +# DATA-QUALITY: 0.1 + +############################################################################## +# Custom search filters : the following filters +# will also be availlable in search for this vertical (must be an attribute or a score) +############################################################################## + + + +ecoFilters: +# - "REPAIRABILITY_INDEX" +# - "CLASSE_ENERGY" +# - "ENERGY_CONSUMPTION_1000_HOURS" +# - "WEIGHT" + +technicalFilters: +# - "DIAGONALE_POUCES" +# - "DISPLAY_TECHNOLOGY" +# - "HDMI_PORTS_QUANTITY" + +# - "PARTS_AVAILLABILITY" +# - "DATA-QUALITY" +# - "BRAND-SUSTAINABILITY" + + + + +#################################################################################### +# ATTRIBUTES CONFIGURATION +#################################################################################### +#requiredAttributes: +# - DIAGONALE_POUCES diff --git a/verticals/src/main/resources/verticals/epilators.yml b/verticals/src/main/resources/verticals/epilators.yml index 561dea988..31971e51c 100644 --- a/verticals/src/main/resources/verticals/epilators.yml +++ b/verticals/src/main/resources/verticals/epilators.yml @@ -21,8 +21,21 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "BEAUTE, FORME ET SANTE / EPILATEUR / EPILATEUR ELECTRIQUE | BEAUTE, FORME ET SANTE>EPILATEUR>EPILATEUR ELECTRIQUE | EPILATEUR | EPILATEUR ELECTRIQUE" + all: [] + Electrodepot - Guides et Comparateurs: + - "ELECTRO DEPOT | EPILATION, RASAGE | EPILATEUR" + rueducommerce.fr: + - "EPILATEUR" + darty.com: + - "BEAUTE, FORME ET SANTE / EPILATEUR / EPILATEUR ELECTRIQUE | BEAUTE, FORME ET SANTE>EPILATEUR>EPILATEUR ELECTRIQUE | EPILATEUR | EPILATEUR ELECTRIQUE" +# rakuten.com-csv.yml: +# - "SOINS-BEAUTE | ACCESSOIRES-APPAREILS-SOINS-DU-CORPS" +# fnac.com: +# - "PETIT MENAGER & CUISINE - EPILATION FEMININE" + cdiscount.com: + - "ELECTROMENAGER | ELECTROMENAGER > BEAUTE - BIEN-ETRE > EPILATEUR ELECTRIQUE | BEAUTE - BIEN-ETRE | EPILATEUR ELECTRIQUE" diff --git a/verticals/src/main/resources/verticals/freezers.yml b/verticals/src/main/resources/verticals/freezers.yml index c15963f1e..e49b965a1 100644 --- a/verticals/src/main/resources/verticals/freezers.yml +++ b/verticals/src/main/resources/verticals/freezers.yml @@ -21,8 +21,25 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "GROS ELECTROMENAGER / CONGELATEUR / CONGELATEUR ARMOIRE | GROS ELECTROMENAGER>CONGELATEUR>CONGELATEUR ARMOIRE | CONGELATEUR | CONGELATEUR ARMOIRE" + all: [] + Darty Pro - Cashback: + - "GROS ELECTROMENAGER | CONGELATEUR" + rueducommerce.fr: + - "CONGELATEUR" + darty.com: + - "GROS ELECTROMENAGER | GROS ELECTROMENAGER>CONGELATEUR>CONGELATEUR COFFRE | CONGELATEUR | GROS ELECTROMENAGER" + rakuten.com-csv.yml: + - "ELECTROMENAGER | CONGELATEUR" + UNDERDOG FR: + - "378 | FREEZERS | CONGELATEUR" +# fnac.com: +# - "PETIT MENAGER & CUISINE - FROID" + manomano.fr: + - "ELECTROMENAGER | ELECTROMENAGER > GROS ELECTROMENAGER > CONGELATEUR | CONGELATEUR" + cdiscount.com: + - "ELECTROMENAGER | ELECTROMENAGER > FROID > CONGELATEUR COFFRE | FROID | CONGELATEUR COFFRE" diff --git a/verticals/src/main/resources/verticals/hair-clippers-trimmers.yml b/verticals/src/main/resources/verticals/hair-clippers-trimmers.yml index 91718d96e..b26dbe2d1 100644 --- a/verticals/src/main/resources/verticals/hair-clippers-trimmers.yml +++ b/verticals/src/main/resources/verticals/hair-clippers-trimmers.yml @@ -21,16 +21,31 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "TONDEUSE" - - "PETIT MENAGER & CUISINE - RASAGE HOMME" - - "BEAUTE, FORME ET SANTE / TONDEUSE / TONDEUSE HOMME | BEAUTE, FORME ET SANTE>TONDEUSE>TONDEUSE HOMME | TONDEUSE | TONDEUSE HOMME" - - "ELECTROMENAGER | ELECTROMENAGER > COIFFURE > TONDEUSE CHEVEUX | COIFFURE | TONDEUSE CHEVEUX" - - "ELECTROMENAGER | ELECTROMENAGER > COIFFURE > TONDEUSE MULTI-USAGES | COIFFURE | TONDEUSE MULTI-USAGES" - - "ELECTROMENAGER | ELECTROMENAGER > COIFFURE > TONDEUSE A BARBE | COIFFURE | TONDEUSE A BARBE" - - "BEAUTE, FORME ET SANTE | TONDEUSE" - - "BEAUTE, FORME ET SANTE | BEAUTE, FORME ET SANTE>TONDEUSE>TONDEUSE HOMME | TONDEUSE | BEAUTE, FORME ET SANTE" - - "HOME APPLIANCES > BEAUTY & HEALTH ELECTRONICS > ELECTRIC SHAVERS & TRIMMERS FOR MEN" + all: [] + Darty Pro - Cashback: + - "BEAUTE, FORME ET SANTE | TONDEUSE" + Electrodepot - Guides et Comparateurs: + - "ELECTRO DEPOT | EPILATION, RASAGE | TONDEUSE" +# rueducommerce.fr: +# - "TONDEUSE" +# Nocibé - Guides d'achat: +# - "CISEAUX DE COIFFURE | OUTILS COIFFANTS | CHEVEUX" + darty.com: + - "BEAUTE, FORME ET SANTE | BEAUTE, FORME ET SANTE>TONDEUSE>TONDEUSE HOMME | TONDEUSE | BEAUTE, FORME ET SANTE" +# fnac.com: +# - "PETIT MENAGER & CUISINE - RASAGE HOMME" +# - "PETIT MENAGER & CUISINE RASAGE HOMME" + cdiscount.com: + - "ELECTROMENAGER | ELECTROMENAGER > COIFFURE > TONDEUSE MULTI-USAGES | COIFFURE | TONDEUSE MULTI-USAGES" + - "ELECTROMENAGER | ELECTROMENAGER > COIFFURE > TONDEUSE A BARBE | COIFFURE | TONDEUSE A BARBE" + Joom FR: + - "HOME APPLIANCES > BEAUTY & HEALTH ELECTRONICS > ELECTRIC SHAVERS & TRIMMERS FOR MEN" + e.leclerc: + - "HIGH-TECH | ELECTROMENAGER>PETIT ELECTROMENAGER>BEAUTE, SANTE & BIEN-ETRE>TONDEUSE>TONDEUSE MULTIFONCTION | PETIT ELECTROMENAGER | BEAUTE, SANTE & BIEN-ETRE" + alternate FR: + - "107 | SHAVING | SOINS > SOIN DES CHEVEUX > TONDEUSE" diff --git a/verticals/src/main/resources/verticals/irons-ironing-systems.yml b/verticals/src/main/resources/verticals/irons-ironing-systems.yml index 56e1038c2..4daaa1489 100644 --- a/verticals/src/main/resources/verticals/irons-ironing-systems.yml +++ b/verticals/src/main/resources/verticals/irons-ironing-systems.yml @@ -21,28 +21,29 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "ELECTROMENAGER | REPASSAGE" - - "PETIT MENAGER & CUISINE - SOIN DU LINGE" - - "FER A REPASSER" - - "ENTRETIEN ET SOIN DE LA MAISON / FER / CENTRALE VAPEUR / FER A REPASSER | ENTRETIEN ET SOIN DE LA MAISON>FER / CENTRALE VAPEUR>FER A REPASSER | FER / CENTRALE VAPEUR | FER A REPASSER" - - "ELECTROMENAGER | ELECTROMENAGER > REPASSAGE - COUTURE > FER A REPASSER - FER A RESERVOIR AMOVIBLE - FER A REPASSER A RESERVOIR XL | REPASSAGE - COUTURE | FER A REPASSER - FER A RESERVOIR AMOVIBLE - FER A REPASSER A RESERVOIR XL" - - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DE LA MAISON > REPASSAGE > FER A REPASSER | FER A REPASSER" - - "CENTRALE VAPEUR" - - "ENTRETIEN ET SOIN DE LA MAISON / FER / CENTRALE VAPEUR / CENTRALE VAPEUR | ENTRETIEN ET SOIN DE LA MAISON>FER / CENTRALE VAPEUR>CENTRALE VAPEUR | FER / CENTRALE VAPEUR | CENTRALE VAPEUR" - - "ELECTROMENAGER | ELECTROMENAGER > REPASSAGE - COUTURE > CENTRALE VAPEUR | REPASSAGE - COUTURE | CENTRALE VAPEUR" - - "DROGUERIE | DROGUERIE > MATERIEL SOIN DU LINGE > PLANCHE A REPASSER - TABLE A REPASSER - HOUSSE TABLE | MATERIEL SOIN DU LINGE | PLANCHE A REPASSER - TABLE A REPASSER - HOUSSE TABLE" - - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DE LA MAISON > REPASSAGE > CENTRALE VAPEUR | CENTRALE VAPEUR" - - "ELECTROMENAGER | ELECTROMENAGER > REPASSAGE - COUTURE > DEFROISSEUR | REPASSAGE - COUTURE | DEFROISSEUR" - - "ENTRETIEN ET SOIN DE LA MAISON / TABLE / CENTRE DE REPASSAGE / TABLE A REPASSER | ENTRETIEN ET SOIN DE LA MAISON>TABLE / CENTRE DE REPASSAGE>TABLE A REPASSER | TABLE / CENTRE DE REPASSAGE | TABLE A REPASSER" - - "ENTRETIEN ET SOIN DE LA MAISON | FER / CENTRALE VAPEUR" - - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DE LA MAISON > REPASSAGE > DEFROISSEUR VAPEUR | DEFROISSEUR VAPEUR" - - "DEFROISSEUR VAPEUR" - - "ENTRETIEN ET SOIN DE LA MAISON / FER / CENTRALE VAPEUR / DEFROISSEUR | ENTRETIEN ET SOIN DE LA MAISON>FER / CENTRALE VAPEUR>DEFROISSEUR | FER / CENTRALE VAPEUR | DEFROISSEUR" - - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DE LA MAISON > REPASSAGE > TABLE A REPASSER | TABLE A REPASSER" - - "ACCESSOIRES REPASSAGE" - - "PETIT MENAGER & CUISINE - ACCESSOIRE SOIN DU LINGE" - - "ENTRETIEN ET SOIN DE LA MAISON / TABLE / CENTRE DE REPASSAGE / ACCESSOIRE SOIN DU LINGE | ENTRETIEN ET SOIN DE LA MAISON>TABLE / CENTRE DE REPASSAGE>ACCESSOIRE SOIN DU LINGE | TABLE / CENTRE DE REPASSAGE | ACCESSOIRE SOIN DU LINGE" + all: [] + Darty Pro - Cashback: + - "ENTRETIEN ET SOIN DE LA MAISON | FER / CENTRALE VAPEUR" + rueducommerce.fr: + - "FER A REPASSER" + darty.com: + - "ENTRETIEN ET SOIN DE LA MAISON / FER / CENTRALE VAPEUR / FER A REPASSER | ENTRETIEN ET SOIN DE LA MAISON>FER / CENTRALE VAPEUR>FER A REPASSER | FER / CENTRALE VAPEUR | FER A REPASSER" + - "ENTRETIEN ET SOIN DE LA MAISON | ENTRETIEN ET SOIN DE LA MAISON>FER / CENTRALE VAPEUR>FER A REPASSER | FER / CENTRALE VAPEUR | ENTRETIEN ET SOIN DE LA MAISON" +# rakuten.com-csv.yml: +# - "ELECTROMENAGER | REPASSAGE" +# fnac.com: +# - "PETIT MENAGER & CUISINE - SOIN DU LINGE" +# - "PETIT MENAGER & CUISINE SOIN DU LINGE" + cdiscount.com: + - "ELECTROMENAGER | ELECTROMENAGER > REPASSAGE - COUTURE > FER A REPASSER - FER A RESERVOIR AMOVIBLE - FER A REPASSER A RESERVOIR XL | REPASSAGE - COUTURE | FER A REPASSER - FER A RESERVOIR AMOVIBLE - FER A REPASSER A RESERVOIR XL" + manomano.fr: + - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DE LA MAISON > REPASSAGE > FER A REPASSER | FER A REPASSER" + Joom FR: + - "HOME APPLIANCES > CLOTHING CARE APPLIANCES > IRONS" + e.leclerc: + - "HIGH-TECH | ELECTROMENAGER>PETIT ELECTROMENAGER>ENTRETIEN & SOIN DE LA MAISON>SOIN DU LINGE>FER A REPASSER | PETIT ELECTROMENAGER | ENTRETIEN & SOIN DE LA MAISON" diff --git a/verticals/src/main/resources/verticals/desktop-computers.yml b/verticals/src/main/resources/verticals/ko/desktop-computers.yml similarity index 84% rename from verticals/src/main/resources/verticals/desktop-computers.yml rename to verticals/src/main/resources/verticals/ko/desktop-computers.yml index 7bbbe5805..9ac5dac7e 100644 --- a/verticals/src/main/resources/verticals/desktop-computers.yml +++ b/verticals/src/main/resources/verticals/ko/desktop-computers.yml @@ -21,10 +21,27 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "PC GAMER" - - "INFORMATIQUE - ORDINATEUR DE BUREAU | APPAREILS ELECTRONIQUES > ORDINATEURS > ORDINATEURS DE BUREAU" - - "INFORMATIQUE / ORDINATEUR DE BUREAU / UNITE CENTRALE | INFORMATIQUE>ORDINATEUR DE BUREAU>UNITE CENTRALE | ORDINATEUR DE BUREAU | UNITE CENTRALE" + all: [] + rueducommerce.fr: + - "BOITIER PC" + grosbill.com: + - "BOITIER PC > ASUS" + rakuten.com-csv.yml: + - "INFORMATIQUE | COMPOSANTS | BOITIER" + darty.com: + - "INFORMATIQUE / COMPOSANTS PC / BOITIER PC | INFORMATIQUE>COMPOSANTS PC>BOITIER PC | COMPOSANTS PC | BOITIER PC" + fnac.com: + - "INFORMATIQUE - COMPOSANTS PC | APPAREILS ELECTRONIQUES > ORDINATEURS > COMPOSANTS D'ORDINATEUR" + manomano.fr: + - "ELECTROMENAGER | ELECTROMENAGER > PETIT ELECTROMENAGER > EAU - BOISSON - GLACON > MACHINE A SODA ET EAU GAZEUSE | MACHINE A SODA ET EAU GAZEUSE" + cdiscount.com: + - "65 | INPUT DEVICES | INFORMATIQUE | INFORMATIQUE > COMPOSANT - PIECE DETACHEE > BUREAU BOITIER PC | COMPOSANT - PIECE DETACHEE | BUREAU BOITIER PC" + Joom FR: + - "ELECTRONICS > COMPUTERS & ACCESSORIES > COMPUTER COMPONENTS > COMPUTER CASES & TOWERS" + alternate FR: + - "62 | COMPUTER COMPONENTS | BOITIER > BOITIER PC" diff --git a/verticals/src/main/resources/verticals/dryers.yml b/verticals/src/main/resources/verticals/ko/dryers.yml similarity index 84% rename from verticals/src/main/resources/verticals/dryers.yml rename to verticals/src/main/resources/verticals/ko/dryers.yml index ad9f86096..8908ccd68 100644 --- a/verticals/src/main/resources/verticals/dryers.yml +++ b/verticals/src/main/resources/verticals/ko/dryers.yml @@ -21,17 +21,30 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "ELECTROMENAGER | SECHE-LINGE" - - "ELECTROMENAGER | ELECTROMENAGER > LAVAGE-SECHAGE > SECHE-LINGE | LAVAGE-SECHAGE | SECHE-LINGE" - - "GROS ELECTROMENAGER / SECHE-LINGE / SECHE-LINGE | GROS ELECTROMENAGER>SECHE-LINGE>SECHE-LINGE | SECHE-LINGE | SECHE-LINGE" - - "SECHE-LINGE" - - "PETIT MENAGER & CUISINE - LAVAGE" - - "ELECTROMENAGER | ELECTROMENAGER > GROS ELECTROMENAGER > SECHE-LINGE | SECHE-LINGE" - - "GROS ELECTROMENAGER | SECHE-LINGE" - - "GROS ELECTROMENAGER | GROS ELECTROMENAGER>SECHE-LINGE>SECHE-LINGE | SECHE-LINGE | GROS ELECTROMENAGER" - - "374 | TUMBLE DRYERS | SECHE-LINGE" - - "PETIT MENAGER & CUISINE LAVAGE" + all: [] + Darty Pro - Cashback: + - "GROS ELECTROMENAGER | LAVE-LINGE" + rueducommerce.fr: + - "LAVE-LINGE" + darty.com: + - "GROS ELECTROMENAGER | GROS ELECTROMENAGER>LAVE-LINGE>LAVE-LINGE HUBLOT | LAVE-LINGE | GROS ELECTROMENAGER" + - "GROS ELECTROMENAGER / LAVE-LINGE / LAVE-LINGE HUBLOT | GROS ELECTROMENAGER>LAVE-LINGE>LAVE-LINGE HUBLOT | LAVE-LINGE | LAVE-LINGE HUBLOT" + rakuten.com-csv.yml: + - "ELECTROMENAGER | LAVE-LINGE" + UNDERDOG FR: + - "535 | WASHING MACHINES | LAVE-LINGE" + fnac.com: + - "PETIT MENAGER & CUISINE LAVAGE" + manomano.fr: + - "ELECTROMENAGER | ELECTROMENAGER > GROS ELECTROMENAGER > LAVE-LINGE | LAVE-LINGE" + cdiscount.com: + - "ELECTROMENAGER | ELECTROMENAGER > LAVAGE-SECHAGE > LAVE-LINGE | LAVAGE-SECHAGE | LAVE-LINGE" + e.leclerc: + - "HIGH-TECH | ELECTROMENAGER>GROS ELECTROMENAGER>LAVE-LINGE>LAVE-LINGE HUBLOT | GROS ELECTROMENAGER | LAVE-LINGE" + icecat.biz.yml: + - "MACHINES A LAVER" diff --git a/verticals/src/main/resources/verticals/laptops.yml b/verticals/src/main/resources/verticals/laptops.yml index a0ffc9670..fe3986bbb 100644 --- a/verticals/src/main/resources/verticals/laptops.yml +++ b/verticals/src/main/resources/verticals/laptops.yml @@ -1,3 +1,9 @@ +#################################################################################################################################################################### +# +# This is the configuration for the LAPTOPS vertical. +# Generated on the vertical.yml template file, using the VerticalsGenerationService.verticalTemplate() +# @See open4goods/commons/src/main/java/org/open4goods/config/yml/ui/VerticalConfig.java for commented POJO definition +################################################################################################################################################################### # Unique identifier for this vertical. # MUST contains only charracters @@ -8,22 +14,43 @@ id: laptops # SHOULD be set, it will then force this taxonomy for all products in this vertical googleTaxonomyId: 328 -#TODO : Documentation -#icecatTaxonomyId: 1584 +# Indicates if the vertical must be UI / sitemap / search rendered +enabled: false + ############################################################################## # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - INFORMATIQUE | ORDINATEUR-PORTABLE" - - "65 | INPUT DEVICES | INFORMATIQUE | INFORMATIQUE > ORDINATEUR PORTABLE - NETBOOK > ORDINATEUR PORTABLE | ORDINATEUR PORTABLE - NETBOOK | ORDINATEUR PORTABLE" - - "INFORMATIQUE / ORDINATEUR PORTABLE / PC PORTABLE | INFORMATIQUE>ORDINATEUR PORTABLE>PC PORTABLE | ORDINATEUR PORTABLE | PC PORTABLE" - - "INFORMATIQUE - ORDINATEUR PORTABLE | APPAREILS ELECTRONIQUES > ORDINATEURS > ORDINATEURS PORTABLES" - - "INFORMATIQUE ORDINATEUR PORTABLE | APPAREILS ELECTRONIQUES > ORDINATEURS > ORDINATEURS PORTABLES" - - "PC PORTABLE" - - "INFORMATIQUE | ORDINATEUR PORTABLE" - - "IT | PC PORTABLE | PC PORTABLE" - - "INFORMATIQUE | INFORMATIQUE>ORDINATEUR PORTABLE>PC PORTABLE | ORDINATEUR PORTABLE | INFORMATIQUE" + all: [] + JPG - Cashback & Reward: + - "ORDINATEURS PORTABLES | ORDINATEURS" + Darty Pro - Cashback: + - "INFORMATIQUE | ORDINATEUR PORTABLE" + rueducommerce.fr: + - "PC PORTABLE" + grosbill.com: + - "PC PORTABLE > SAMSUNG" + - "PC PORTABLE > ACER" + - "PC PORTABLE > ASUS" + rakuten.com-csv.yml: + - "INFORMATIQUE | ORDINATEUR-PORTABLE" + darty.com: + - "INFORMATIQUE | INFORMATIQUE>ORDINATEUR PORTABLE>PC PORTABLE | ORDINATEUR PORTABLE | INFORMATIQUE" + - "INFORMATIQUE / ORDINATEUR PORTABLE / PC PORTABLE | INFORMATIQUE>ORDINATEUR PORTABLE>PC PORTABLE | ORDINATEUR PORTABLE | PC PORTABLE" + Inmac - Cashbackeurs: + - "IT | PC PORTABLE | PC PORTABLE" + fnac.com: + - "INFORMATIQUE - ORDINATEUR PORTABLE | APPAREILS ELECTRONIQUES > ORDINATEURS > ORDINATEURS PORTABLES" + cdiscount.com: + - "65 | INPUT DEVICES | INFORMATIQUE | INFORMATIQUE > ORDINATEUR PORTABLE - NETBOOK > ORDINATEUR PORTABLE | ORDINATEUR PORTABLE - NETBOOK | ORDINATEUR PORTABLE" + e.leclerc: + - "HIGH-TECH | HIGH-TECH>INFORMATIQUE - TABLETTE>PC>PC PORTABLE | INFORMATIQUE - TABLETTE | PC" + icecat.biz.yml: + - "LAPTOPS" + + ##################################################################################################################################### # I18N CONFIGURATION @@ -38,10 +65,8 @@ i18n: prefix: "ordinateur-portable" # Then we add some attributes values with hyphens if present (ex : led-samsung-QL659P-2023) attrs: -# - TV_TYPE - BRAND - MODEL - - YEAR ################################## # Product page meta and h1 title ################################## @@ -52,18 +77,34 @@ i18n: - BRAND - MODEL - YEAR - + ################################## # Vertical page elements ################################## # url for vertical (appened to baseUrl). No templating here - verticalHomeUrl: "ordinateurs-portables" + verticalHomeUrl: "ordinateurs-potable" # Text displaid as title for the vertical # TODO : Make verticalHomeTitle/ verticalHomeDescription templatable verticalHomeTitle: "Ordinateurs portables" # Text displaid as title for the vertical - verticalHomeDescription: "Bienvenue dans notre rubrique ordinateurs portables. " + # verticalHomeDescription: "" + + # A mapping beetween custom page names behind this vertical and wiki pages + # Copy and paste the wiki wiew url, without the "bin/view" prefix +# wikiPages: +# - wikiUrl: /verticals/tv/technologies-tv/WebHome +# verticalUrl: "oled-qled-lcd-que-choisir" +# title: "OLED, QLED,LCD, ... Quelle technologie choisir ?" +# faIcon: "fa-star" + + +# GenAiConfig for this vertical +genAiConfig: + # If false, will bypass the generativ ia texts generation + enabled: false + + ############################################################################## # Eco score configuration # Specify here the specific ecoscore for this vertical. Format : @@ -71,12 +112,11 @@ i18n: # Weight sum MUST BE equals to 1 ############################################################################## -ecoscoreConfig: - BRAND_SUSTAINABILITY: 0.2 - REPAIRABILITY_INDEX: 0.3 - CLASSE_ENERGY : 0.3 - WARRANTY: 0.1 - DATA-QUALITY: 0.1 +#ecoscoreConfig: +# CLASSE_ENERGY : 0.3 +# WEIGHT: 0.3 +# BRAND_SUSTAINABILITY: 0.3 +# DATA-QUALITY: 0.1 ############################################################################## # Custom search filters : the following filters @@ -86,17 +126,25 @@ ecoscoreConfig: ecoFilters: - - "REPAIRABILITY_INDEX" - - "CLASSE_ENERGY" - - "ENERGY_CONSUMPTION_1000_HOURS" +# - "REPAIRABILITY_INDEX" +# - "CLASSE_ENERGY" +# - "ENERGY_CONSUMPTION_1000_HOURS" +# - "WEIGHT" technicalFilters: - - "DIAGONALE_POUCES" - - "DISPLAY_TECHNOLOGY" - - "HDMI_PORTS_QUANTITY" - +# - "DIAGONALE_POUCES" +# - "DISPLAY_TECHNOLOGY" +# - "HDMI_PORTS_QUANTITY" + # - "PARTS_AVAILLABILITY" # - "DATA-QUALITY" # - "BRAND-SUSTAINABILITY" + + +#################################################################################### +# ATTRIBUTES CONFIGURATION +#################################################################################### +#requiredAttributes: +# - DIAGONALE_POUCES diff --git a/verticals/src/main/resources/verticals/printers-copiers-fax-machines.yml b/verticals/src/main/resources/verticals/printers-copiers-fax-machines.yml index 65775eb24..2e73404da 100644 --- a/verticals/src/main/resources/verticals/printers-copiers-fax-machines.yml +++ b/verticals/src/main/resources/verticals/printers-copiers-fax-machines.yml @@ -21,14 +21,42 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "INFORMATIQUE | IMPRIMANTE" - - "INFORMATIQUE - IMPRIMANTE ET SCANNER | APPAREILS ELECTRONIQUES > IMPRESSION, COPIE, NUMERISATION ET TELECOPIE > IMPRIMANTES ET COPIEURS > IMPRIMANTES" - - "65 | INPUT DEVICES | INFORMATIQUE | INFORMATIQUE > IMPRESSION - SCANNER > IMPRIMANTE | IMPRESSION - SCANNER | IMPRIMANTE" - - "INFORMATIQUE - ACCESSOIRES ET CONSOMMABLES POUR IMPRIMANTE | APPAREILS ELECTRONIQUES > ACCESSOIRES POUR L'IMPRESSION, LA COPIE, LA NUMERISATION ET LA TELECOPIE" - - "474 | HAND TOOLS | OUTILLAGE | OUTILLAGE > MACHINES D'ATELIER > IMPRIMANTE 3D ET ACCESSOIRES > CONSOMMABLE POUR IMPRIMANTE ET STYLO 3D | CONSOMMABLE POUR IMPRIMANTE ET STYLO 3D" - - "INFORMATIQUE / IMPRIMANTE ET SCANNER / IMPRIMANTE MULTIFONCTION | INFORMATIQUE>IMPRIMANTE ET SCANNER>IMPRIMANTE MULTIFONCTION | IMPRIMANTE ET SCANNER | IMPRIMANTE MULTIFONCTION" - - "IMPRIMANTE JET D'ENCRE" + all: [] +# Darty Pro - Cashback: +# - "INFORMATIQUE | IMPRIMANTE ET SCANNER" + Materiel-informatique - Standard: + - "IMPRIMANTE | IMPRIMANTE MULTIFONCTION | IMPRIMANTE MULTIFONCTION BROTHER" + Electrodepot - Guides et Comparateurs: + - "ELECTRO DEPOT | IMPRIMANTE, PAPIER | IMPRIMANTE" + rueducommerce.fr: + - "IMPRIMANTE JET D'ENCRE" +# WelcomeOffice.com: +# - "MULTIFONCTIONS" + darty.com: + - "INFORMATIQUE / IMPRIMANTE ET SCANNER / IMPRIMANTE MULTIFONCTION | INFORMATIQUE>IMPRIMANTE ET SCANNER>IMPRIMANTE MULTIFONCTION | IMPRIMANTE ET SCANNER | IMPRIMANTE MULTIFONCTION" + rakuten.com-csv.yml: + - "INFORMATIQUE | IMPRIMANTE" + fnac.com: + - "INFORMATIQUE - IMPRIMANTE ET SCANNER | APPAREILS ELECTRONIQUES > IMPRESSION, COPIE, NUMERISATION ET TELECOPIE > IMPRIMANTES ET COPIEURS > IMPRIMANTES" + - "INFORMATIQUE IMPRIMANTE ET SCANNER | APPAREILS ELECTRONIQUES > IMPRESSION, COPIE, NUMERISATION ET TELECOPIE > IMPRIMANTES ET COPIEURS > IMPRIMANTES" + cdiscount.com: + - "65 | INPUT DEVICES | INFORMATIQUE | INFORMATIQUE > IMPRESSION - SCANNER > IMPRIMANTE | IMPRESSION - SCANNER | IMPRIMANTE" + alternate FR: + - "128 | ALL-IN-ONE PRINTERS | IMPRIMANTE > PERIPHERIQUES A FONCTIONS MULTIPLES" + icecat.biz.yml: + - "IMPRIMANTES MULTIFONCTIONS" + JPG - Cashback & Reward: + - "IMPRIMANTES JET D'ENCRE MULTIFONCTION | IMPRIMANTES" + - "IMPRIMANTES LASER MONOCHROME MULTIFONCTION | IMPRIMANTES" + grosbill.com: + - "IMPRIMANTE MULTIFONCTION > BROTHER" + Inmac - Cashbackeurs: + - "IMPRESSION | IMPRIMANTES | MULTIFONCTION LASER MONOCHROME" + - "IMPRESSION | IMPRIMANTES | MULTIFONCTION JET D'ENCRE" + e.leclerc: + - "HIGH-TECH | HIGH-TECH>INFORMATIQUE - TABLETTE>PERIPHERIQUE & ACCESSOIRES>IMPRIMANTE | INFORMATIQUE - TABLETTE | PERIPHERIQUE & ACCESSOIRES" diff --git a/verticals/src/main/resources/verticals/projectors.yml b/verticals/src/main/resources/verticals/projectors.yml index 4ce290117..6add5b1e8 100644 --- a/verticals/src/main/resources/verticals/projectors.yml +++ b/verticals/src/main/resources/verticals/projectors.yml @@ -21,20 +21,28 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "TV & VIDEO & HOME CINEMA | TV & VIDEO & HOME CINEMA > VIDEO PROJECTEUR > VIDEOPROJECTEUR | VIDEO PROJECTEUR | VIDEOPROJECTEUR" - - "TV, VIDEO, HOME CINEMA / VIDEOPROJECTION / VIDEOPROJECTEUR | TV, VIDEO, HOME CINEMA>VIDEOPROJECTION>VIDEOPROJECTEUR | VIDEOPROJECTION | VIDEOPROJECTEUR" - - "HIFI | PROJECTEUR" - - "TV - VIDEO - SON | TV - VIDEO - SON > VIDEOPROJECTION > VIDEOPROJECTEUR | VIDEOPROJECTION | VIDEOPROJECTEUR" - - "VIDEOPROJECTEUR" - - "MULTIMEDIA | VIDEOPROJECTEUR BUREAUTIQUE" - - "VIDEOPROJECTEUR > EPSON" - - "VIDEOPROJECTEUR > ACER" - - "MULTIMEDIA | VIDEOPROJECTEUR PORTABLE" - - "VIDEOPROJECTEURS" - - "VIDEOPROJECTEUR > OPTOMA" - - "ELECTRONICS > AUDIO & VIDEO > PROJECTORS > PROJECTORS" - - "24 | PROJECTORS | VIDEO-PROJECTEUR" + all: [] + Darty Pro - Cashback: + - "TV, VIDEO, HOME CINEMA | VIDEOPROJECTION" + grosbill.com: + - "VIDEOPROJECTEUR > EPSON" + WelcomeOffice.com: + - "VIDEOPROJECTEURS" + darty.com: + - "TV, VIDEO, HOME CINEMA / VIDEOPROJECTION / VIDEOPROJECTEUR | TV, VIDEO, HOME CINEMA>VIDEOPROJECTION>VIDEOPROJECTEUR | VIDEOPROJECTION | VIDEOPROJECTEUR" + - "TV, VIDEO, HOME CINEMA | TV, VIDEO, HOME CINEMA>VIDEOPROJECTION>VIDEOPROJECTEUR | VIDEOPROJECTION | TV, VIDEO, HOME CINEMA" + rakuten.com-csv.yml: + - "HIFI | PROJECTEUR" + Inmac - Cashbackeurs: + - "MULTIMEDIA | VIDEOPROJECTEUR BUREAUTIQUE" + fnac.com: + - "TV & VIDEO & HOME CINEMA | TV & VIDEO & HOME CINEMA > VIDEO PROJECTEUR > VIDEOPROJECTEUR | VIDEO PROJECTEUR | VIDEOPROJECTEUR" + cdiscount.com: + - "TV - VIDEO - SON | TV - VIDEO - SON > VIDEOPROJECTION > VIDEOPROJECTEUR | VIDEOPROJECTION | VIDEOPROJECTEUR" +# manomano.fr: +# - "ELECTROMENAGER | ELECTROMENAGER > PETIT ELECTROMENAGER > EAU - BOISSON - GLACON > MACHINE A SODA ET EAU GAZEUSE | MACHINE A SODA ET EAU GAZEUSE" diff --git a/verticals/src/main/resources/verticals/refrigerators.yml b/verticals/src/main/resources/verticals/refrigerators.yml index 2ded1df63..f0fbe5316 100644 --- a/verticals/src/main/resources/verticals/refrigerators.yml +++ b/verticals/src/main/resources/verticals/refrigerators.yml @@ -21,8 +21,34 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "REFRIGERATEUR" + all: [] + Darty Pro - Cashback: + - "GROS ELECTROMENAGER | REFRIGERATEUR" + - "GROS ELECTROMENAGER | REFRIGERATEUR CONGELATEUR" + rueducommerce.fr: + - "REFRIGERATEUR" + darty.com: + - "GROS ELECTROMENAGER / REFRIGERATEUR CONGELATEUR / REFRIGERATEUR CONGELATEUR EN HAUT | GROS ELECTROMENAGER>REFRIGERATEUR CONGELATEUR>REFRIGERATEUR CONGELATEUR EN HAUT | REFRIGERATEUR CONGELATEUR | REFRIGERATEUR CONGELATEUR EN HAUT" + - "GROS ELECTROMENAGER | GROS ELECTROMENAGER>REFRIGERATEUR CONGELATEUR>REFRIGERATEUR CONGELATEUR EN BAS | REFRIGERATEUR CONGELATEUR | GROS ELECTROMENAGER" + - "GROS ELECTROMENAGER | GROS ELECTROMENAGER>REFRIGERATEUR>REFRIGERATEUR 1 PORTE | REFRIGERATEUR | GROS ELECTROMENAGER" + - "GROS ELECTROMENAGER | GROS ELECTROMENAGER>REFRIGERATEUR CONGELATEUR>REFRIGERATEUR CONGELATEUR EN HAUT | REFRIGERATEUR CONGELATEUR | GROS ELECTROMENAGER" + rakuten.com-csv.yml: + - "ELECTROMENAGER | REFRIGERATEUR" + Castorama FR: + - "REFRIGERATEUR CONGELATEUR A POSER | MAGASIN CASTORAMA > CUISINE > GROS ELECTROMENAGER > REFRIGERATEUR ET CONGELATEUR > REFRIGERATEUR CONGELATEUR > REFRIGERATEUR CONGELATEUR A POSER | CUISINE | GROS ELECTROMENAGER" + UNDERDOG FR: + - "380 | FRIDGE FREEZERS | REFRIGERATEUR" +# fnac.com: +# - "PETIT MENAGER & CUISINE FROID" + manomano.fr: + - "ELECTROMENAGER | ELECTROMENAGER > GROS ELECTROMENAGER > REFRIGERATEUR | REFRIGERATEUR" +# - "ELECTROMENAGER | ELECTROMENAGER > PETIT ELECTROMENAGER > EAU - BOISSON - GLACON > MACHINE A SODA ET EAU GAZEUSE | MACHINE A SODA ET EAU GAZEUSE" + cdiscount.com: + - "ELECTROMENAGER | ELECTROMENAGER > FROID > REFRIGERATEUR CLASSIQUE | FROID | REFRIGERATEUR CLASSIQUE" + e.leclerc: + - "HIGH-TECH | ELECTROMENAGER>GROS ELECTROMENAGER>REFRIGERATEUR>REFRIGERATEUR CONGELATEUR | GROS ELECTROMENAGER | REFRIGERATEUR" diff --git a/verticals/src/main/resources/verticals/kettles.yml b/verticals/src/main/resources/verticals/scanners.yml similarity index 53% rename from verticals/src/main/resources/verticals/kettles.yml rename to verticals/src/main/resources/verticals/scanners.yml index d6dd21c4e..b216def48 100644 --- a/verticals/src/main/resources/verticals/kettles.yml +++ b/verticals/src/main/resources/verticals/scanners.yml @@ -1,22 +1,18 @@ #################################################################################################################################################################### # -# This is the configuration for the TV vertical. All the configs items are inherited from the "_default.yml" configuration -# -# This "TV" vertical aims to be the demonstration one. Please use the below doc as a reference, and copy/paste/adapt to setup other verticals. +# This is the configuration for the SCANNERS vertical. +# Generated on the vertical.yml template file, using the VerticalsGenerationService.verticalTemplate() # @See open4goods/commons/src/main/java/org/open4goods/config/yml/ui/VerticalConfig.java for commented POJO definition ################################################################################################################################################################### # Unique identifier for this vertical. # MUST contains only charracters # SHOULD be equal to the configuration file name, without the extension -id: kettles +id: scanners # The associated google taxonomyID. (Ex : FR - https://www.google.com/basepages/producttype/taxonomy-with-ids.fr-FR.txt) # SHOULD be set, it will then force this taxonomy for all products in this vertical -googleTaxonomyId: 751 - -#TODO : Documentation -#icecatTaxonomyId: 1584 +googleTaxonomyId: 306 # Indicates if the vertical must be UI / sitemap / search rendered enabled: false @@ -25,12 +21,47 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "BOUILLOIRE" - - "PETIT ELECTROMENAGER CUISINE / THEIERE ET BOUILLOIRE / BOUILLOIRE | PETIT ELECTROMENAGER CUISINE>THEIERE ET BOUILLOIRE>BOUILLOIRE | THEIERE ET BOUILLOIRE | BOUILLOIRE" - - "ELECTROMENAGER | ELECTROMENAGER > PETIT DEJEUNER - CAFE > BOUILLOIRE ELECTRIQUE | PETIT DEJEUNER - CAFE | BOUILLOIRE ELECTRIQUE" - - "ELECTROMENAGER | ELECTROMENAGER > PETIT ELECTROMENAGER > PETIT DEJEUNER > BOUILLOIRE | BOUILLOIRE" - + all: [] + Darty Pro - Cashback: + - "INFORMATIQUE | IMPRIMANTE ET SCANNER" +# Electrodepot - Guides et Comparateurs: +# - "ELECTRO DEPOT | IMPRIMANTE, PAPIER | IMPRIMANTE" + backmarket.fr: + - "ELECTRONICS > PRINT, COPY, SCAN & FAX > SCANNERS" + WelcomeOffice.com: + - "SCANNERS" + darty.com: + - "INFORMATIQUE | INFORMATIQUE>IMPRIMANTE ET SCANNER>SCANNER | IMPRIMANTE ET SCANNER | INFORMATIQUE" + - "INFORMATIQUE / IMPRIMANTE ET SCANNER / SCANNER | INFORMATIQUE>IMPRIMANTE ET SCANNER>SCANNER | IMPRIMANTE ET SCANNER | SCANNER" + rakuten.com-csv.yml: +# - "INFORMATIQUE | IMPRIMANTE" + - "INFORMATIQUE | SCANNERS" + fnac.com: +# - "INFORMATIQUE - IMPRIMANTE ET SCANNER | APPAREILS ELECTRONIQUES > IMPRESSION, COPIE, NUMERISATION ET TELECOPIE > IMPRIMANTES ET COPIEURS > IMPRIMANTES" + cdiscount.com: + - "65 | INPUT DEVICES | INFORMATIQUE | INFORMATIQUE > IMPRESSION - SCANNER > SCANNER | IMPRESSION - SCANNER | SCANNER" +# Joom FR: +# - "ELECTRONICS > COMPUTERS & ACCESSORIES > OFFICE EQUIPMENT > PRINTERS & ACCESSORIES > PRINTERS & MFP" + alternate FR: + - "211 | SCANNERS | SCANNER" + icecat.biz.yml: + - "SCANNERS" + JPG - Cashback & Reward: + - "SCANNERS | SCANNERS" + grosbill.com: + - "SCANNER > BROTHER" + - "SCANNER > EPSON" + Inmac - Cashbackeurs: + - "MULTIMEDIA | SCANNER DE PRODUCTION" + - "MULTIMEDIA | SCANNER BUREAUTIQUE" + - "MULTIMEDIA | SCANNER PORTABLE" + e.leclerc: + - "HIGH-TECH | HIGH-TECH>INFORMATIQUE - TABLETTE>PERIPHERIQUE & ACCESSOIRES>SCANNER | INFORMATIQUE - TABLETTE | PERIPHERIQUE & ACCESSOIRES" + + + ##################################################################################################################################### # I18N CONFIGURATION # Configure in a i18n way all the texts of a product, including the Url, the title, the description, the open graph metas, .... @@ -40,8 +71,8 @@ i18n: fr: # The layout a product url will have. Ex : 81234555-tv-led-samsung-QL659P 2023 url: - # We can add ta custom prefix (with our conditional templating language if we want) - prefix: "bouilloire" + # We can add a custom prefix (with our conditional templating language if we want) + prefix: "scanner" # Then we add some attributes values with hyphens if present (ex : led-samsung-QL659P-2023) attrs: - BRAND @@ -51,24 +82,38 @@ i18n: ################################## # The product h1 title. Constructed on the same basis than "url", but without the concatened hyphens h1Title: - prefix: "bouilloire" + prefix: "Scanner" attrs: - BRAND - MODEL - YEAR - + ################################## # Vertical page elements ################################## # url for vertical (appened to baseUrl). No templating here - verticalHomeUrl: "bouilloires-electriques" + verticalHomeUrl: "scanners" # Text displaid as title for the vertical # TODO : Make verticalHomeTitle/ verticalHomeDescription templatable - verticalHomeTitle: "Bouilloires électriques" + verticalHomeTitle: "Scanners" # Text displaid as title for the vertical - verticalHomeDescription: "" + # verticalHomeDescription: "" + + # A mapping beetween custom page names behind this vertical and wiki pages + # Copy and paste the wiki wiew url, without the "bin/view" prefix +# wikiPages: +# - wikiUrl: /verticals/tv/technologies-tv/WebHome +# verticalUrl: "oled-qled-lcd-que-choisir" +# title: "OLED, QLED,LCD, ... Quelle technologie choisir ?" +# faIcon: "fa-star" + +# GenAiConfig for this vertical +genAiConfig: + # If false, will bypass the generativ ia texts generation + enabled: false + ############################################################################## # Eco score configuration @@ -77,12 +122,11 @@ i18n: # Weight sum MUST BE equals to 1 ############################################################################## -ecoscoreConfig: - BRAND_SUSTAINABILITY: 0.2 - REPAIRABILITY_INDEX: 0.3 - CLASSE_ENERGY : 0.3 - WARRANTY: 0.1 - DATA-QUALITY: 0.1 +#ecoscoreConfig: +# CLASSE_ENERGY : 0.3 +# WEIGHT: 0.3 +# BRAND_SUSTAINABILITY: 0.3 +# DATA-QUALITY: 0.1 ############################################################################## # Custom search filters : the following filters @@ -92,16 +136,25 @@ ecoscoreConfig: ecoFilters: - - "REPAIRABILITY_INDEX" - - "CLASSE_ENERGY" - - "ENERGY_CONSUMPTION_1000_HOURS" +# - "REPAIRABILITY_INDEX" +# - "CLASSE_ENERGY" +# - "ENERGY_CONSUMPTION_1000_HOURS" +# - "WEIGHT" -#technicalFilters: +technicalFilters: # - "DIAGONALE_POUCES" # - "DISPLAY_TECHNOLOGY" # - "HDMI_PORTS_QUANTITY" - + # - "PARTS_AVAILLABILITY" # - "DATA-QUALITY" # - "BRAND-SUSTAINABILITY" + + + +#################################################################################### +# ATTRIBUTES CONFIGURATION +#################################################################################### +#requiredAttributes: +# - DIAGONALE_POUCES diff --git a/verticals/src/main/resources/verticals/tv.yml b/verticals/src/main/resources/verticals/tv.yml index 43e5e5726..5d3c937c8 100644 --- a/verticals/src/main/resources/verticals/tv.yml +++ b/verticals/src/main/resources/verticals/tv.yml @@ -22,35 +22,33 @@ enabled: true # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: -# - TV -# - HIFI | TELEVISION - -# Map on fnac, and some other datasources that return unclean -# - TV & VIDEO & HOME CINEMA TELEVISEUR | APPAREILS ELECTRONIQUES > VIDEO > TELEVISEURS -# - TV & VIDEO & HOME CINEMA | TV & VIDEO & HOME CINEMA > TELEVISEUR > TV LED/LCD | TELEVISEUR | TV LED/LCD -# - TV, VIDEO, HOME CINEMA | TELEVISEUR - - TV - VIDEO - SON | TV - VIDEO - SON > TELEVISEUR > TELEVISEUR LED | TELEVISEUR | TELEVISEUR LED -# - TV, VIDEO, HOME CINEMA / TELEVISEUR / TV LED | TV, VIDEO, HOME CINEMA>TELEVISEUR>TV LED | TELEVISEUR | TV LED - - TV - VIDEO - SON > TELEVISEUR > TELEVISEUR LED - - TV, VIDEO, HOME CINEMA / TELEVISEUR / TV LED - - HIGH-TECH > TELEVISION, HI-FI > TELEVISION - - TV & VIDEO & HOME CINEMA > TELEVISEUR > TV LED/LCD - - TV, VIDEO, HOME CINEMA | TV, VIDEO, HOME CINEMA>TELEVISEUR>TV LED | TELEVISEUR | TV, VIDEO, HOME CINEMA - - TV, VIDEO, HOME CINEMA>TELEVISEUR>TV LED - - TV, VIDEO, HOME CINEMA / TELEVISEUR / TV OLED | TV, VIDEO, HOME CINEMA>TELEVISEUR>TV OLED | TELEVISEUR | TV OLED - - TV - VIDEO - SON > TELEVISEUR > TELEVISEUR LCD - - TV & VIDEO & HOME CINEMA | TV & VIDEO & HOME CINEMA > TELEVISEUR > OLED TV | TELEVISEUR | OLED TV - - TV, VIDEO, HOME CINEMA / TELEVISEUR / TV OLED - - 9 | TELEVISIONS | TV & MONITEUR > TV - - TV - VIDEO - SON | TV - VIDEO - SON > TELEVISEUR > TELEVISEUR LCD | TELEVISEUR | TELEVISEUR LCD - - TV, VIDEO, HOME CINEMA | TV, VIDEO, HOME CINEMA>TELEVISEUR>TV OLED | TELEVISEUR | TV, VIDEO, HOME CINEMA - - HIGH TECH | HIGH-TECH > TV - CINEMA > TELEVISEURS - TELEVISIONS - TV > TV HISENSE | TV - CINEMA | TELEVISEURS - TELEVISIONS - TV - - HIGH-TECH | HIGH-TECH>TV - CINEMA>TELEVISEURS - TELEVISIONS - TV>TV HISENSE | TV - CINEMA | TELEVISEURS - TELEVISIONS - TV - - HIGH TECH | HIGH-TECH > MARQUES HIGH-TECH > SAMSUNG HIGH-TECH > SAMSUNG TV & AUDIO > SMART TV | MARQUES HIGH-TECH | SAMSUNG HIGH-TECH - - HIGH TECH | HIGH-TECH > TV - CINEMA > TELEVISEURS - TELEVISIONS - TV > TV LG | TV - CINEMA | TELEVISEURS - TELEVISIONS - TV - - HIGH-TECH | HIGH-TECH>MARQUES HIGH-TECH>SAMSUNG HIGH-TECH>SAMSUNG TV & AUDIO>SMART TV | MARQUES HIGH-TECH | SAMSUNG HIGH-TECH - - HIGH-TECH | HIGH-TECH>TV - CINEMA>TELEVISEURS - TELEVISIONS - TV>TV LG | TV - CINEMA | TELEVISEURS - TELEVISIONS - TV + Darty Pro - Cashback: + - "TV, VIDEO, HOME CINEMA | TELEVISEUR" + Electrodepot - Guides et Comparateurs: + - "ELECTRO DEPOT | TELEVISION | TV DE 147 A 178 CM" +# rueducommerce.fr: +# - "TV" + darty.com: + - "TV, VIDEO, HOME CINEMA | TV, VIDEO, HOME CINEMA>TELEVISEUR>TV LED | TELEVISEUR | TV, VIDEO, HOME CINEMA" + - "TV, VIDEO, HOME CINEMA / TELEVISEUR / TV LED | TV, VIDEO, HOME CINEMA>TELEVISEUR>TV LED | TELEVISEUR | TV LED" + rakuten.com-csv.yml: +# - "INFORMATIQUE | ECRAN" + - "HIFI | TELEVISION" + fnac.com: + - "TV & VIDEO & HOME CINEMA | TV & VIDEO & HOME CINEMA > TELEVISEUR > TV LED/LCD | TELEVISEUR | TV LED/LCD" + - "TV & VIDEO & HOME CINEMA TELEVISEUR | APPAREILS ELECTRONIQUES > VIDEO > TELEVISEURS" + cdiscount.com: + - "TV - VIDEO - SON | TV - VIDEO - SON > TELEVISEUR > TELEVISEUR LED | TELEVISEUR | TELEVISEUR LED" + - "TV - VIDEO - SON | TV - VIDEO - SON > TELEVISEUR > TELEVISEUR LCD | TELEVISEUR | TELEVISEUR LCD" +# manomano.fr: +# - "ELECTROMENAGER | ELECTROMENAGER > PETIT ELECTROMENAGER > EAU - BOISSON - GLACON > MACHINE A SODA ET EAU GAZEUSE | MACHINE A SODA ET EAU GAZEUSE" + e.leclerc: + - "HIGH-TECH | HIGH-TECH>TV - CINEMA>TELEVISEURS - TELEVISIONS - TV>TV LG | TV - CINEMA | TELEVISEURS - TELEVISIONS - TV" + - "HIGH-TECH | HIGH-TECH>MARQUES HIGH-TECH>SAMSUNG HIGH-TECH>SAMSUNG TV & AUDIO>SMART TV SAMSUNG | MARQUES HIGH-TECH | SAMSUNG HIGH-TECH" + all: + - "TV" # The categories that disengage a mapping in this vertical diff --git a/verticals/src/main/resources/verticals/vacuums.yml b/verticals/src/main/resources/verticals/vacuums.yml index f60fb5985..cfdf7aa79 100644 --- a/verticals/src/main/resources/verticals/vacuums.yml +++ b/verticals/src/main/resources/verticals/vacuums.yml @@ -21,31 +21,41 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "ELECTROMENAGER | ASPIRATEUR" - - "PETIT MENAGER & CUISINE - TRAITEMENT DES SOLS" - - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DES SOLS - ENTRETIEN DE LA MAISON > ASPIRATEUR BALAI | ENTRETIEN DES SOLS - ENTRETIEN DE LA MAISON | ASPIRATEUR BALAI" - - "ENTRETIEN ET SOIN DE LA MAISON / ASPIRATEUR / ASPIRATEUR BALAI | ENTRETIEN ET SOIN DE LA MAISON>ASPIRATEUR>ASPIRATEUR BALAI | ASPIRATEUR | ASPIRATEUR BALAI" - - "ASPIRATEUR TRAINEAU" - - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DES SOLS - ENTRETIEN DE LA MAISON > ASPIRATEUR TRAINEAU | ENTRETIEN DES SOLS - ENTRETIEN DE LA MAISON | ASPIRATEUR TRAINEAU" - - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DE LA MAISON > ASPIRATEUR > ASPIRATEUR BALAI | ASPIRATEUR BALAI" - - "ASPIRATEUR BALAI" - - "ENTRETIEN ET SOIN DE LA MAISON / ASPIRATEUR / ASPIRATEUR ROBOT | ENTRETIEN ET SOIN DE LA MAISON>ASPIRATEUR>ASPIRATEUR ROBOT | ASPIRATEUR | ASPIRATEUR ROBOT" - - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DES SOLS - ENTRETIEN DE LA MAISON > ASPIRATEUR ROBOT | ENTRETIEN DES SOLS - ENTRETIEN DE LA MAISON | ASPIRATEUR ROBOT" - - "ASPIRATEUR ROBOT" - - "ASPIRATEUR A MAIN" - - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DE LA MAISON > ASPIRATEUR > ASPIRATEUR ROBOT | ASPIRATEUR ROBOT" - - "ENTRETIEN ET SOIN DE LA MAISON / ASPIRATEUR / ASPIRATEUR SANS SAC | ENTRETIEN ET SOIN DE LA MAISON>ASPIRATEUR>ASPIRATEUR SANS SAC | ASPIRATEUR | ASPIRATEUR SANS SAC" - - "ENTRETIEN ET SOIN DE LA MAISON | ASPIRATEUR" - - "ENTRETIEN ET SOIN DE LA MAISON / ASPIRATEUR / ASPIRATEUR AVEC SAC | ENTRETIEN ET SOIN DE LA MAISON>ASPIRATEUR>ASPIRATEUR AVEC SAC | ASPIRATEUR | ASPIRATEUR AVEC SAC" - - "ENTRETIEN ET SOIN DE LA MAISON / ASPIRATEUR / ASPIRATEUR A MAIN | ENTRETIEN ET SOIN DE LA MAISON>ASPIRATEUR>ASPIRATEUR A MAIN | ASPIRATEUR | ASPIRATEUR A MAIN" - - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DE LA MAISON > ASPIRATEUR > ASPIRATEUR SANS SAC | ASPIRATEUR SANS SAC" - - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DES SOLS - ENTRETIEN DE LA MAISON > ASPIRATEUR A MAIN | ENTRETIEN DES SOLS - ENTRETIEN DE LA MAISON | ASPIRATEUR A MAIN" - - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DE LA MAISON > ASPIRATEUR > ASPIRATEUR AVEC SAC | ASPIRATEUR AVEC SAC" - - "HOME APPLIANCES > CLEANING APPLIANCES > VACUUM CLEANERS" - - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DE LA MAISON > ASPIRATEUR > ASPIRATEUR A MAIN | ASPIRATEUR A MAIN" - - "PETIT MENAGER & CUISINE TRAITEMENT DES SOLS" - - "474 | HAND TOOLS | OUTILLAGE | OUTILLAGE > MATERIEL ET AMENAGEMENT DE L'ATELIER > ASPIRATEUR DE CHANTIER > ASPIRATEUR PROFESSIONNEL, ASPIRATEUR DE CHANTIER | ASPIRATEUR PROFESSIONNEL, ASPIRATEUR DE CHANTIER" + all: [] + rueducommerce.fr: + - "ASPIRATEUR TRAINEAU" + - "ASPIRATEUR A MAIN" + - "ASPIRATEUR INDUSTRIEL" + backmarket.fr: + - "HOME & GARDEN > HOUSEHOLD APPLIANCES > VACUUMS" + WelcomeOffice.com: + - "ASPIRATEURS" + Oscaro - Comparateurs & Guides: + - "ACCESSOIRES ET EQUIPEMENTS | EQUIPEMENT DE L'HABITACLE | ASPIRATEUR" + darty.com: + - "BRICOLAGE / OUTILS ET ACCESSOIRES DE NETTOYAGE / ASPIRATEUR A EAU ET POUSSIERE | BRICOLAGE>OUTILS ET ACCESSOIRES DE NETTOYAGE>ASPIRATEUR A EAU ET POUSSIERE | OUTILS ET ACCESSOIRES DE NETTOYAGE | ASPIRATEUR A EAU ET POUSSIERE" + - "ENTRETIEN ET SOIN DE LA MAISON / ASPIRATEUR / ASPIRATEUR A MAIN | ENTRETIEN ET SOIN DE LA MAISON>ASPIRATEUR>ASPIRATEUR A MAIN | ASPIRATEUR | ASPIRATEUR A MAIN" + rakuten.com-csv.yml: + - "ELECTROMENAGER | ASPIRATEUR" + cdiscount.com: + - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DES SOLS - ENTRETIEN DE LA MAISON > ASPIRATEUR TRAINEAU | ENTRETIEN DES SOLS - ENTRETIEN DE LA MAISON | ASPIRATEUR TRAINEAU" + - "428 | DIY | BRICOLAGE - OUTILLAGE - QUINCAILLERIE | BRICOLAGE - OUTILLAGE - QUINCAILLERIE > MACHINE OUTIL > ASPIRATEUR INDUSTRIEL | MACHINE OUTIL | ASPIRATEUR INDUSTRIEL" + Joom FR: + - "HOME APPLIANCES > CLEANING APPLIANCES > VACUUM CLEANERS" + icecat.biz.yml: + - "ASPIRATEURS" + alternate FR: + - "375 | VACUUM CLEANERS | ASPIRATEUR > ASPIRATEUR HUMIDE" + JPG - Cashback & Reward: + - "ASPIRATEURS | PRODUITS & MATERIEL D'ENTRETIEN" + Castorama FR: + - "ASPIRATEUR DE CHANTIER | MAGASIN CASTORAMA > OUTILLAGE > ASPIRATEUR ET NETTOYEUR > ASPIRATEUR > ASPIRATEUR DE CHANTIER | OUTILLAGE | ASPIRATEUR ET NETTOYEUR" + manomano.fr: + - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DE LA MAISON > ASPIRATEUR > ASPIRATEUR BALAI | ASPIRATEUR BALAI" + - "ELECTROMENAGER | ELECTROMENAGER > ENTRETIEN DE LA MAISON > ASPIRATEUR > ASPIRATEUR SANS SAC | ASPIRATEUR SANS SAC" + - "474 | HAND TOOLS | OUTILLAGE | OUTILLAGE > MATERIEL ET AMENAGEMENT DE L'ATELIER > ASPIRATEUR DE CHANTIER > ASPIRATEUR PROFESSIONNEL, ASPIRATEUR DE CHANTIER | ASPIRATEUR PROFESSIONNEL, ASPIRATEUR DE CHANTIER" diff --git a/verticals/src/main/resources/verticals/video-game-consoles.yml b/verticals/src/main/resources/verticals/video-game-consoles.yml index 85ec70b2e..0f370350e 100644 --- a/verticals/src/main/resources/verticals/video-game-consoles.yml +++ b/verticals/src/main/resources/verticals/video-game-consoles.yml @@ -21,10 +21,11 @@ enabled: false # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "JEUX-VIDEO-ET-CONSOLES | CONSOLES" - - "CONSOLES DE JEUX CONSOLE RETROGAMING | APPAREILS ELECTRONIQUES > CONSOLES DE JEUX VIDEO" - - "JEUX VIDEO | JEUX VIDEO > CONSOLES > CONSOLE RETRO | CONSOLES | CONSOLE RETRO" + all: [] + rakuten.com-csv.yml: + - "JEUX-VIDEO-ET-CONSOLES | CONSOLES" diff --git a/verticals/src/main/resources/verticals/washing-machines.yml b/verticals/src/main/resources/verticals/washing-machines.yml index 78aa61361..ba659e864 100644 --- a/verticals/src/main/resources/verticals/washing-machines.yml +++ b/verticals/src/main/resources/verticals/washing-machines.yml @@ -1,3 +1,9 @@ +#################################################################################################################################################################### +# +# This is the configuration for the WASHING-MACHINES vertical. +# Generated on the vertical.yml template file, using the VerticalsGenerationService.verticalTemplate() +# @See open4goods/commons/src/main/java/org/open4goods/config/yml/ui/VerticalConfig.java for commented POJO definition +################################################################################################################################################################### # Unique identifier for this vertical. # MUST contains only charracters @@ -8,25 +14,36 @@ id: washing-machines # SHOULD be set, it will then force this taxonomy for all products in this vertical googleTaxonomyId: 2549 -#TODO : Documentation -#icecatTaxonomyId: 1584 +# Indicates if the vertical must be UI / sitemap / search rendered +enabled: false + ############################################################################## # Product classification from categories ############################################################################## # Will associate to this vertical if one of the following categorie is present for the product + matchingCategories: - - "ELECTROMENAGER | LAVE-LINGE" - - "ELECTROMENAGER | ELECTROMENAGER > LAVAGE-SECHAGE > LAVE-LINGE | LAVAGE-SECHAGE | LAVE-LINGE" - - "LAVE-LINGE" - - "GROS ELECTROMENAGER / LAVE-LINGE / LAVE-LINGE HUBLOT | GROS ELECTROMENAGER>LAVE-LINGE>LAVE-LINGE HUBLOT | LAVE-LINGE | LAVE-LINGE HUBLOT" - - "ELECTROMENAGER | ELECTROMENAGER > GROS ELECTROMENAGER > LAVE-LINGE | LAVE-LINGE" - - "GROS ELECTROMENAGER | LAVE-LINGE" - - "LAVE-LINGE | MAGASIN CASTORAMA > CUISINE > GROS ELECTROMENAGER > LAVE-LINGE ET SECHE-LINGE > LAVE-LINGE | CUISINE | GROS ELECTROMENAGER" - - "GROS ELECTROMENAGER / LAVE-LINGE / LAVE-LINGE SECHANT | GROS ELECTROMENAGER>LAVE-LINGE>LAVE-LINGE SECHANT | LAVE-LINGE | LAVE-LINGE SECHANT" - - "GROS ELECTROMENAGER / LAVE-LINGE / LAVE-LINGE TOP | GROS ELECTROMENAGER>LAVE-LINGE>LAVE-LINGE TOP | LAVE-LINGE | LAVE-LINGE TOP" - - "ELECTROMENAGER | ELECTROMENAGER > LAVAGE-SECHAGE > LAVE-LINGE SECHANT | LAVAGE-SECHAGE | LAVE-LINGE SECHANT" - - "535 | WASHING MACHINES | LAVE-LINGE" - - "HIGH TECH | ELECTROMENAGER > GROS ELECTROMENAGER > LAVE-LINGE > LAVE-LINGE HUBLOT | GROS ELECTROMENAGER | LAVE-LINGE" + all: [] + Darty Pro - Cashback: + - "GROS ELECTROMENAGER | LAVE-LINGE" + rueducommerce.fr: + - "LAVE-LINGE" + darty.com: + - "GROS ELECTROMENAGER | GROS ELECTROMENAGER>LAVE-LINGE>LAVE-LINGE HUBLOT | LAVE-LINGE | GROS ELECTROMENAGER" + - "GROS ELECTROMENAGER / LAVE-LINGE / LAVE-LINGE HUBLOT | GROS ELECTROMENAGER>LAVE-LINGE>LAVE-LINGE HUBLOT | LAVE-LINGE | LAVE-LINGE HUBLOT" + rakuten.com-csv.yml: + - "ELECTROMENAGER | LAVE-LINGE" + UNDERDOG FR: + - "535 | WASHING MACHINES | LAVE-LINGE" + manomano.fr: + - "ELECTROMENAGER | ELECTROMENAGER > GROS ELECTROMENAGER > LAVE-LINGE | LAVE-LINGE" + cdiscount.com: + - "ELECTROMENAGER | ELECTROMENAGER > LAVAGE-SECHAGE > LAVE-LINGE | LAVAGE-SECHAGE | LAVE-LINGE" + e.leclerc: + - "HIGH-TECH | ELECTROMENAGER>GROS ELECTROMENAGER>LAVE-LINGE>LAVE-LINGE HUBLOT | GROS ELECTROMENAGER | LAVE-LINGE" + icecat.biz.yml: + - "MACHINES A LAVER" + ##################################################################################################################################### @@ -42,10 +59,8 @@ i18n: prefix: "|| lave-linge | machine-a-laver ||" # Then we add some attributes values with hyphens if present (ex : led-samsung-QL659P-2023) attrs: -# - TV_TYPE - BRAND - MODEL - - YEAR ################################## # Product page meta and h1 title ################################## @@ -56,7 +71,7 @@ i18n: - BRAND - MODEL - YEAR - + ################################## # Vertical page elements ################################## @@ -67,7 +82,22 @@ i18n: # TODO : Make verticalHomeTitle/ verticalHomeDescription templatable verticalHomeTitle: "Machines à laver" # Text displaid as title for the vertical - verticalHomeDescription: "Bienvenue dans notre rubrique laves-linges. " + # verticalHomeDescription: "" + + # A mapping beetween custom page names behind this vertical and wiki pages + # Copy and paste the wiki wiew url, without the "bin/view" prefix +# wikiPages: +# - wikiUrl: /verticals/tv/technologies-tv/WebHome +# verticalUrl: "oled-qled-lcd-que-choisir" +# title: "OLED, QLED,LCD, ... Quelle technologie choisir ?" +# faIcon: "fa-star" + + +# GenAiConfig for this vertical +genAiConfig: + # If false, will bypass the generativ ia texts generation + enabled: false + ############################################################################## # Eco score configuration @@ -76,12 +106,11 @@ i18n: # Weight sum MUST BE equals to 1 ############################################################################## -ecoscoreConfig: - BRAND_SUSTAINABILITY: 0.2 - REPAIRABILITY_INDEX: 0.3 - CLASSE_ENERGY : 0.3 - WARRANTY: 0.1 - DATA-QUALITY: 0.1 +#ecoscoreConfig: +# CLASSE_ENERGY : 0.3 +# WEIGHT: 0.3 +# BRAND_SUSTAINABILITY: 0.3 +# DATA-QUALITY: 0.1 ############################################################################## # Custom search filters : the following filters @@ -91,16 +120,25 @@ ecoscoreConfig: ecoFilters: - - "REPAIRABILITY_INDEX" - - "CLASSE_ENERGY" - - "ENERGY_CONSUMPTION_1000_HOURS" +# - "REPAIRABILITY_INDEX" +# - "CLASSE_ENERGY" +# - "ENERGY_CONSUMPTION_1000_HOURS" +# - "WEIGHT" technicalFilters: - - "DIAGONALE_POUCES" - - "DISPLAY_TECHNOLOGY" - - "HDMI_PORTS_QUANTITY" - +# - "DIAGONALE_POUCES" +# - "DISPLAY_TECHNOLOGY" +# - "HDMI_PORTS_QUANTITY" + # - "PARTS_AVAILLABILITY" # - "DATA-QUALITY" # - "BRAND-SUSTAINABILITY" + + + +#################################################################################### +# ATTRIBUTES CONFIGURATION +#################################################################################### +#requiredAttributes: +# - DIAGONALE_POUCES