@@ -79,4 +79,72 @@ void shouldAllowSettingSearchParamsJsonIndependently() {
79
79
assertThat (request .getSearchParamsJson ()).isEqualTo (searchParamsJson );
80
80
}
81
81
82
+ @ Test
83
+ void shouldBuildRequestWithOnlyQuery () {
84
+ String query = "test query" ;
85
+ MilvusSearchRequest request = MilvusSearchRequest .milvusBuilder ().query (query ).build ();
86
+
87
+ assertThat (request .getQuery ()).isEqualTo (query );
88
+ assertThat (request .getTopK ()).isEqualTo (SearchRequest .DEFAULT_TOP_K );
89
+ assertThat (request .getSimilarityThreshold ()).isEqualTo (SearchRequest .SIMILARITY_THRESHOLD_ACCEPT_ALL );
90
+ assertThat (request .getNativeExpression ()).isNull ();
91
+ }
92
+
93
+ @ Test
94
+ void shouldBuildRequestWithOnlyTopK () {
95
+ int topK = 1 ;
96
+ MilvusSearchRequest request = MilvusSearchRequest .milvusBuilder ().topK (topK ).build ();
97
+
98
+ assertThat (request .getQuery ()).isEmpty ();
99
+ assertThat (request .getTopK ()).isEqualTo (topK );
100
+ assertThat (request .getSimilarityThreshold ()).isEqualTo (SearchRequest .SIMILARITY_THRESHOLD_ACCEPT_ALL );
101
+ }
102
+
103
+ @ Test
104
+ void shouldBuildRequestWithOnlySimilarityThreshold () {
105
+ double threshold = 0.95 ;
106
+ MilvusSearchRequest request = MilvusSearchRequest .milvusBuilder ().similarityThreshold (threshold ).build ();
107
+
108
+ assertThat (request .getQuery ()).isEmpty ();
109
+ assertThat (request .getTopK ()).isEqualTo (SearchRequest .DEFAULT_TOP_K );
110
+ assertThat (request .getSimilarityThreshold ()).isEqualTo (threshold );
111
+ }
112
+
113
+ @ Test
114
+ void shouldHandleEmptyQuery () {
115
+ MilvusSearchRequest request = MilvusSearchRequest .milvusBuilder ().query ("" ).topK (1 ).build ();
116
+
117
+ assertThat (request .getQuery ()).isEmpty ();
118
+ assertThat (request .getTopK ()).isEqualTo (1 );
119
+ }
120
+
121
+ @ Test
122
+ void shouldHandleComplexNativeExpression () {
123
+ String complexExpression = "(level > 1 AND type = 'type1') OR (mode IN ['mode1'] AND value >= 0.1)" ;
124
+ MilvusSearchRequest request = MilvusSearchRequest .milvusBuilder ().nativeExpression (complexExpression ).build ();
125
+
126
+ assertThat (request .getNativeExpression ()).isEqualTo (complexExpression );
127
+ }
128
+
129
+ @ Test
130
+ void shouldHandleComplexSearchParamsJson () {
131
+ String complexJson = "{\" values\" :{\" value1\" :1,\" value2\" :1.1},\" value\" :{\" value\" :1,\" value\" :1}}" ;
132
+ MilvusSearchRequest request = MilvusSearchRequest .milvusBuilder ().searchParamsJson (complexJson ).build ();
133
+
134
+ assertThat (request .getSearchParamsJson ()).isEqualTo (complexJson );
135
+ }
136
+
137
+ @ Test
138
+ void shouldUpdateFieldsWithMultipleCalls () {
139
+ MilvusSearchRequest request = MilvusSearchRequest .milvusBuilder ()
140
+ .query ("initial" )
141
+ .query ("updated" )
142
+ .topK (1 )
143
+ .topK (1 )
144
+ .build ();
145
+
146
+ assertThat (request .getQuery ()).isEqualTo ("updated" );
147
+ assertThat (request .getTopK ()).isEqualTo (1 );
148
+ }
149
+
82
150
}
0 commit comments