Commit 445496cd465fab755078e082ccf7d985a59d6d9f

Authored by tangwang
1 parent e756b18e

fix last up: 每个翻译结果的检索表达式,单个multimatch ->

combined_fields+best_field+phrase_boost
config/config.yaml
@@ -129,10 +129,10 @@ query_config: @@ -129,10 +129,10 @@ query_config:
129 - "description" 129 - "description"
130 - "vendor" 130 - "vendor"
131 shared_fields: 131 shared_fields:
132 - - "tags"  
133 - - "option1_values"  
134 - - "option2_values"  
135 - - "option3_values" 132 + # - "tags"
  133 + # - "option1_values"
  134 + # - "option2_values"
  135 + # - "option3_values"
136 core_multilingual_fields: 136 core_multilingual_fields:
137 - "title" 137 - "title"
138 - "qanchors" 138 - "qanchors"
@@ -266,19 +266,19 @@ class AppConfigLoader: @@ -266,19 +266,19 @@ class AppConfigLoader:
266 multilingual_fields=list( 266 multilingual_fields=list(
267 search_fields.get( 267 search_fields.get(
268 "multilingual_fields", 268 "multilingual_fields",
269 - ["title", "brief", "description", "vendor", "category_path", "category_name_text"], 269 + [],
270 ) 270 )
271 ), 271 ),
272 shared_fields=list( 272 shared_fields=list(
273 search_fields.get( 273 search_fields.get(
274 "shared_fields", 274 "shared_fields",
275 - ["tags", "option1_values", "option2_values", "option3_values"],  
276 - ) 275 + [],
  276 + ) or []
277 ), 277 ),
278 core_multilingual_fields=list( 278 core_multilingual_fields=list(
279 search_fields.get( 279 search_fields.get(
280 "core_multilingual_fields", 280 "core_multilingual_fields",
281 - ["title", "brief", "vendor", "category_name_text"], 281 + [],
282 ) 282 )
283 ), 283 ),
284 base_minimum_should_match=str(text_strategy.get("base_minimum_should_match", "70%")), 284 base_minimum_should_match=str(text_strategy.get("base_minimum_should_match", "70%")),
@@ -536,7 +536,6 @@ class AppConfigLoader: @@ -536,7 +536,6 @@ class AppConfigLoader:
536 errors.append("query_config.default_language must be included in supported_languages") 536 errors.append("query_config.default_language must be included in supported_languages")
537 for name, values in ( 537 for name, values in (
538 ("multilingual_fields", query_config.multilingual_fields), 538 ("multilingual_fields", query_config.multilingual_fields),
539 - ("shared_fields", query_config.shared_fields),  
540 ("core_multilingual_fields", query_config.core_multilingual_fields), 539 ("core_multilingual_fields", query_config.core_multilingual_fields),
541 ): 540 ):
542 if not values: 541 if not values:
@@ -36,20 +36,13 @@ class QueryConfig: @@ -36,20 +36,13 @@ class QueryConfig:
36 source_fields: Optional[List[str]] = None 36 source_fields: Optional[List[str]] = None
37 knn_boost: float = 0.25 37 knn_boost: float = 0.25
38 multilingual_fields: List[str] = field( 38 multilingual_fields: List[str] = field(
39 - default_factory=lambda: [  
40 - "title",  
41 - "brief",  
42 - "description",  
43 - "vendor",  
44 - "category_path",  
45 - "category_name_text",  
46 - ] 39 + default_factory=lambda: []
47 ) 40 )
48 shared_fields: List[str] = field( 41 shared_fields: List[str] = field(
49 - default_factory=lambda: ["tags", "option1_values", "option2_values", "option3_values"] 42 + default_factory=lambda: []
50 ) 43 )
51 core_multilingual_fields: List[str] = field( 44 core_multilingual_fields: List[str] = field(
52 - default_factory=lambda: ["title", "brief", "vendor", "category_name_text"] 45 + default_factory=lambda: []
53 ) 46 )
54 base_minimum_should_match: str = "70%" 47 base_minimum_should_match: str = "70%"
55 translation_minimum_should_match: str = "70%" 48 translation_minimum_should_match: str = "70%"
search/es_query_builder.py
@@ -64,11 +64,9 @@ class ESQueryBuilder: @@ -64,11 +64,9 @@ class ESQueryBuilder:
64 """ 64 """
65 self.match_fields = match_fields 65 self.match_fields = match_fields
66 self.field_boosts = field_boosts or {} 66 self.field_boosts = field_boosts or {}
67 - self.multilingual_fields = multilingual_fields or [  
68 - "title", "brief", "description", "qanchors", "vendor", "category_path", "category_name_text"  
69 - ]  
70 - self.shared_fields = shared_fields or ["tags", "option1_values", "option2_values", "option3_values"]  
71 - self.core_multilingual_fields = core_multilingual_fields or ["title", "brief", "vendor", "category_name_text"] 67 + self.multilingual_fields = multilingual_fields or []
  68 + self.shared_fields = shared_fields or []
  69 + self.core_multilingual_fields = core_multilingual_fields or []
72 self.text_embedding_field = text_embedding_field 70 self.text_embedding_field = text_embedding_field
73 self.image_embedding_field = image_embedding_field 71 self.image_embedding_field = image_embedding_field
74 self.source_fields = source_fields 72 self.source_fields = source_fields