File tree Expand file tree Collapse file tree 3 files changed +38
-0
lines changed
main/java/io/weaviate/client/v1/graphql/query/argument
test/java/io/weaviate/client/v1/graphql/query/argument Expand file tree Collapse file tree 3 files changed +38
-0
lines changed Original file line number Diff line number Diff line change 1+ package io .weaviate .client .v1 .graphql .query .argument ;
2+
3+ public interface FusionType {
4+
5+ String RANKED = "rankedFusion" ;
6+ String RELATIVE_SCORE = "relativeScoreFusion" ;
7+ }
Original file line number Diff line number Diff line change 1010import lombok .Getter ;
1111import lombok .ToString ;
1212import lombok .experimental .FieldDefaults ;
13+ import org .apache .commons .lang3 .StringUtils ;
1314
1415@ Getter
1516@ Builder
@@ -20,6 +21,7 @@ public class HybridArgument implements Argument {
2021 String query ;
2122 Float alpha ;
2223 Float [] vector ;
24+ String fusionType ;
2325
2426 @ Override
2527 public String build () {
@@ -32,6 +34,9 @@ public String build() {
3234 if (alpha != null ) {
3335 arg .add (String .format ("alpha:%s" , alpha ));
3436 }
37+ if (StringUtils .isNotBlank (fusionType )) {
38+ arg .add (String .format ("fusionType:%s" , fusionType ));
39+ }
3540
3641 return String .format ("hybrid:{%s}" , String .join (" " , arg ));
3742 }
Original file line number Diff line number Diff line change @@ -42,4 +42,30 @@ public void shouldCreateArgumentWithChars() {
4242
4343 assertThat (str ).isEqualTo ("hybrid:{query:\" \\ \" I'm a complex string\\ \" says the {'`:string:`'}\" }" );
4444 }
45+
46+ @ Test
47+ public void shouldCreateArgumentWithFusionTypeRanked () {
48+ HybridArgument hybrid = HybridArgument .builder ()
49+ .query ("I'm a simple string" )
50+ .fusionType (FusionType .RANKED )
51+ .build ();
52+
53+ String str = hybrid .build ();
54+
55+ assertThat (str ).isEqualTo ("hybrid:{query:\" I'm a simple string\" " +
56+ "fusionType:rankedFusion}" );
57+ }
58+
59+ @ Test
60+ public void shouldCreateArgumentWithFusionTypeRelativeScore () {
61+ HybridArgument hybrid = HybridArgument .builder ()
62+ .query ("I'm a simple string" )
63+ .fusionType (FusionType .RELATIVE_SCORE )
64+ .build ();
65+
66+ String str = hybrid .build ();
67+
68+ assertThat (str ).isEqualTo ("hybrid:{query:\" I'm a simple string\" " +
69+ "fusionType:relativeScoreFusion}" );
70+ }
4571}
You can’t perform that action at this time.
0 commit comments