@@ -81,7 +81,7 @@ class MilvusClientV2DockerTest {
8181 private static final TestUtils utils = new TestUtils (DIMENSION );
8282
8383 @ Container
84- private static final MilvusContainer milvus = new MilvusContainer ("milvusdb/milvus:v2.5.8 " );
84+ private static final MilvusContainer milvus = new MilvusContainer ("milvusdb/milvus:v2.5.11 " );
8585
8686 @ BeforeAll
8787 public static void setUp () {
@@ -2379,4 +2379,76 @@ void testReplica() {
23792379 Assertions .assertFalse (replica .getLeaderAddress ().isEmpty ());
23802380 Assertions .assertNotEquals (0L , replica .getLeaderID ());
23812381 }
2382+
2383+ @ Test
2384+ void testRunAnalyzer () {
2385+ List <String > texts = new ArrayList <>();
2386+ texts .add ("Analyzers (tokenizers) for multi languages" );
2387+ texts .add ("2.5 to take advantage of enhancements and fixes!" );
2388+
2389+ Map <String , Object > analyzerParams = new HashMap <>();
2390+ analyzerParams .put ("tokenizer" , "standard" );
2391+ analyzerParams .put ("filter" ,
2392+ Arrays .asList ("lowercase" ,
2393+ new HashMap <String , Object >() {{
2394+ put ("type" , "stop" );
2395+ put ("stop_words" , Arrays .asList ("to" , "of" , "for" , "the" ));
2396+ }}));
2397+
2398+ RunAnalyzerResp resp = client .runAnalyzer (RunAnalyzerReq .builder ()
2399+ .texts (texts )
2400+ .analyzerParams (analyzerParams )
2401+ .withDetail (true )
2402+ .withHash (true )
2403+ .build ());
2404+
2405+ List <RunAnalyzerResp .AnalyzerResult > results = resp .getResults ();
2406+ Assertions .assertEquals (texts .size (), results .size ());
2407+
2408+ {
2409+ List <String > tokens1 = Arrays .asList ("analyzers" , "tokenizers" , "multi" , "languages" );
2410+ List <Long > startOffset1 = Arrays .asList (0L , 11L , 27L , 33L );
2411+ List <Long > endOffset1 = Arrays .asList (9L , 21L , 32L , 42L );
2412+ List <Long > position1 = Arrays .asList (0L , 1L , 3L , 4L );
2413+ List <Long > positionLen1 = Arrays .asList (1L , 1L , 1L , 1L );
2414+ List <Long > hash1 = Arrays .asList (1356745679L , 4089107865L , 3314631429L , 2698072953L );
2415+
2416+ List <RunAnalyzerResp .AnalyzerToken > outTokens1 = results .get (0 ).getTokens ();
2417+ System .out .printf ("%d tokens%n" , outTokens1 .size ());
2418+ Assertions .assertEquals (tokens1 .size (), outTokens1 .size ());
2419+ for (int i = 0 ; i < outTokens1 .size (); i ++) {
2420+ RunAnalyzerResp .AnalyzerToken token = outTokens1 .get (i );
2421+ System .out .println (token );
2422+ Assertions .assertEquals (tokens1 .get (i ), token .getToken ());
2423+ Assertions .assertEquals (startOffset1 .get (i ), token .getStartOffset ());
2424+ Assertions .assertEquals (endOffset1 .get (i ), token .getEndOffset ());
2425+ Assertions .assertEquals (position1 .get (i ), token .getPosition ());
2426+ Assertions .assertEquals (positionLen1 .get (i ), token .getPositionLength ());
2427+ Assertions .assertEquals (hash1 .get (i ), token .getHash ());
2428+ }
2429+ }
2430+
2431+ {
2432+ List <String > tokens2 = Arrays .asList ("2" , "5" , "take" , "advantage" , "enhancements" , "and" , "fixes" );
2433+ List <Long > startOffset2 = Arrays .asList (0L , 2L , 7L , 12L , 25L , 38L , 42L );
2434+ List <Long > endOffset2 = Arrays .asList (1L , 3L , 11L , 21L , 37L , 41L , 47L );
2435+ List <Long > position2 = Arrays .asList (0L , 1L , 3L , 4L , 6L , 7L , 8L );
2436+ List <Long > positionLen2 = Arrays .asList (1L , 1L , 1L , 1L , 1L , 1L , 1L );
2437+ List <Long > hash2 = Arrays .asList (450215437L , 2226203566L , 937258619L , 697180577L , 3403941281L , 133536621L , 488262645L );
2438+
2439+ List <RunAnalyzerResp .AnalyzerToken > outTokens2 = results .get (1 ).getTokens ();
2440+ System .out .printf ("%d tokens%n" , outTokens2 .size ());
2441+ Assertions .assertEquals (tokens2 .size (), outTokens2 .size ());
2442+ for (int i = 0 ; i < outTokens2 .size (); i ++) {
2443+ RunAnalyzerResp .AnalyzerToken token = outTokens2 .get (i );
2444+ System .out .println (token );
2445+ Assertions .assertEquals (tokens2 .get (i ), token .getToken ());
2446+ Assertions .assertEquals (startOffset2 .get (i ), token .getStartOffset ());
2447+ Assertions .assertEquals (endOffset2 .get (i ), token .getEndOffset ());
2448+ Assertions .assertEquals (position2 .get (i ), token .getPosition ());
2449+ Assertions .assertEquals (positionLen2 .get (i ), token .getPositionLength ());
2450+ Assertions .assertEquals (hash2 .get (i ), token .getHash ());
2451+ }
2452+ }
2453+ }
23822454}
0 commit comments