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