From 6c35aff82d637e6c4f15bb55bc1490a4fe3de221 Mon Sep 17 00:00:00 2001 From: tangwang Date: Mon, 30 Mar 2026 19:12:26 +0800 Subject: [PATCH] 索引结构修改: 一、tags字段改支持多语言: spu表tags字段,跟title走一样的翻译逻辑,填入原始语言、zh、en。 --- mappings/generate_search_products_mapping.py | 1 - mappings/search_products.json | 693 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2 files changed, 358 insertions(+), 336 deletions(-) diff --git a/mappings/generate_search_products_mapping.py b/mappings/generate_search_products_mapping.py index e102630..0579825 100644 --- a/mappings/generate_search_products_mapping.py +++ b/mappings/generate_search_products_mapping.py @@ -162,7 +162,6 @@ TEXT_EMBEDDING_SIZE = 1024 IMAGE_EMBEDDING_SIZE = 768 FIELD_SPECS = [ - scalar_field("tenant_id", "keyword"), scalar_field("spu_id", "keyword"), scalar_field("create_time", "date"), scalar_field("update_time", "date"), diff --git a/mappings/search_products.json b/mappings/search_products.json index db407d1..0fefc62 100644 --- a/mappings/search_products.json +++ b/mappings/search_products.json @@ -41,9 +41,6 @@ }, "mappings": { "properties": { - "tenant_id": { - "type": "keyword" - }, "spu_id": { "type": "keyword" }, @@ -1681,20 +1678,6 @@ } } }, - "qanchors": { - "type": "object", - "properties": { - "zh": { - "type": "text", - "analyzer": "index_ik", - "search_analyzer": "query_ik" - }, - "en": { - "type": "text", - "analyzer": "english" - } - } - }, "tags": { "type": "object", "properties": { @@ -1718,326 +1701,326 @@ "normalizer": "lowercase" } } - } - } - }, - "category_id": { - "type": "keyword" - }, - "category_name": { - "type": "keyword" - }, - "category_level": { - "type": "integer" - }, - "category1_name": { - "type": "keyword" - }, - "category2_name": { - "type": "keyword" - }, - "category3_name": { - "type": "keyword" - }, - "specifications": { - "type": "nested", - "properties": { - "sku_id": { - "type": "keyword" }, - "name": { - "type": "keyword" + "ar": { + "type": "text", + "analyzer": "arabic", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } }, - "value": { - "type": "keyword" + "hy": { + "type": "text", + "analyzer": "armenian", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } }, - "value_text": { - "type": "object", - "properties": { - "zh": { - "type": "text", - "analyzer": "index_ik", - "search_analyzer": "query_ik", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "en": { - "type": "text", - "analyzer": "english", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "ar": { - "type": "text", - "analyzer": "arabic", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "hy": { - "type": "text", - "analyzer": "armenian", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "eu": { - "type": "text", - "analyzer": "basque", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "pt_br": { - "type": "text", - "analyzer": "brazilian", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "bg": { - "type": "text", - "analyzer": "bulgarian", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "ca": { - "type": "text", - "analyzer": "catalan", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "cjk": { - "type": "text", - "analyzer": "cjk", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "cs": { - "type": "text", - "analyzer": "czech", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "da": { - "type": "text", - "analyzer": "danish", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "nl": { - "type": "text", - "analyzer": "dutch", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "fi": { - "type": "text", - "analyzer": "finnish", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "fr": { - "type": "text", - "analyzer": "french", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "gl": { - "type": "text", - "analyzer": "galician", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "de": { - "type": "text", - "analyzer": "german", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "el": { - "type": "text", - "analyzer": "greek", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "hi": { - "type": "text", - "analyzer": "hindi", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "hu": { - "type": "text", - "analyzer": "hungarian", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "id": { - "type": "text", - "analyzer": "indonesian", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "it": { - "type": "text", - "analyzer": "italian", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "no": { - "type": "text", - "analyzer": "norwegian", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "fa": { - "type": "text", - "analyzer": "persian", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "pt": { - "type": "text", - "analyzer": "portuguese", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "ro": { - "type": "text", - "analyzer": "romanian", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "ru": { - "type": "text", - "analyzer": "russian", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "es": { - "type": "text", - "analyzer": "spanish", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "sv": { - "type": "text", - "analyzer": "swedish", - "fields": { - "keyword": { - "type": "keyword", - "normalizer": "lowercase" - } - } - }, - "tr": { + "eu": { + "type": "text", + "analyzer": "basque", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "pt_br": { + "type": "text", + "analyzer": "brazilian", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "bg": { + "type": "text", + "analyzer": "bulgarian", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "ca": { + "type": "text", + "analyzer": "catalan", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "cjk": { + "type": "text", + "analyzer": "cjk", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "cs": { + "type": "text", + "analyzer": "czech", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "da": { + "type": "text", + "analyzer": "danish", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "nl": { + "type": "text", + "analyzer": "dutch", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "fi": { + "type": "text", + "analyzer": "finnish", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "fr": { + "type": "text", + "analyzer": "french", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "gl": { + "type": "text", + "analyzer": "galician", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "de": { + "type": "text", + "analyzer": "german", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "el": { + "type": "text", + "analyzer": "greek", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "hi": { + "type": "text", + "analyzer": "hindi", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "hu": { + "type": "text", + "analyzer": "hungarian", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "id": { + "type": "text", + "analyzer": "indonesian", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "it": { + "type": "text", + "analyzer": "italian", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "no": { + "type": "text", + "analyzer": "norwegian", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "fa": { + "type": "text", + "analyzer": "persian", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "pt": { + "type": "text", + "analyzer": "portuguese", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "ro": { + "type": "text", + "analyzer": "romanian", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "ru": { + "type": "text", + "analyzer": "russian", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "es": { + "type": "text", + "analyzer": "spanish", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "sv": { + "type": "text", + "analyzer": "swedish", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "tr": { + "type": "text", + "analyzer": "turkish", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "th": { + "type": "text", + "analyzer": "thai", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + } + } + }, + "category_id": { + "type": "keyword" + }, + "category_name": { + "type": "keyword" + }, + "category_level": { + "type": "integer" + }, + "category1_name": { + "type": "keyword" + }, + "category2_name": { + "type": "keyword" + }, + "category3_name": { + "type": "keyword" + }, + "specifications": { + "type": "nested", + "properties": { + "sku_id": { + "type": "keyword" + }, + "name": { + "type": "keyword" + }, + "value_keyword": { + "type": "keyword" + }, + "value_text": { + "type": "object", + "properties": { + "zh": { "type": "text", - "analyzer": "turkish", + "analyzer": "index_ik", + "search_analyzer": "query_ik", "fields": { "keyword": { "type": "keyword", @@ -2045,9 +2028,9 @@ } } }, - "th": { + "en": { "type": "text", - "analyzer": "thai", + "analyzer": "english", "fields": { "keyword": { "type": "keyword", @@ -2059,6 +2042,46 @@ } } }, + "qanchors": { + "type": "object", + "properties": { + "zh": { + "type": "text", + "analyzer": "index_ik", + "search_analyzer": "query_ik" + }, + "en": { + "type": "text", + "analyzer": "english" + } + } + }, + "enriched_tags": { + "type": "object", + "properties": { + "zh": { + "type": "text", + "analyzer": "index_ik", + "search_analyzer": "query_ik", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + }, + "en": { + "type": "text", + "analyzer": "english", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase" + } + } + } + } + }, "enriched_attributes": { "type": "nested", "properties": { -- libgit2 0.21.2