While there are two Unicode records in a table, one is the Simplified Chinese and one is Japanese. Why it returns all but not the correct one record which according to the search condition when executing a search? (Version: 4.2)

~ 0 min
2016-03-08 08:17

When setting the DB_LCODE to value of 1 in DBMaker 4.2 version, the SIGNATURE TEXT INDEX will return all, but the IVF TEXT INDEX will return the correct one. At present, the SIGNATURE TEXT INDEX does not support Unicode and the IVF TEXT INDEX does. So we suggest dropping the SIGNATRUE TEXT INDEX and building the IVF TEXT INDEX to solve this problem.

Please refer to the following example.

dmSQL>create table test_srh (ID serial,Name char(30),TextBlock NCLOB);

dmSQL>create  text index IDXTEXTBLOCK on test_srh (TextBlock);

dmSQL>insert into test_srh (TextBlock) values ('a080505b'u);        <-- 塞入资料为  肠子

dmSQL>insert into test_srh (TextBlock) values ('e130fc30eb30'u);     <-- 塞入资料为  メール

dmSQL>rebuild text index IDXTEXTBLOCK for test_srh;                 <-- 重建 text index

dmSQL>select * from test_srh where TextBlock match 'a080'u;          <-- 查询 肠

 

    ID                   NAME                 TEXTBLOCK

=========== ============================== ================

          1              NULL              a080505b

          2              NULL              e130fc30eb30

 

 

dmSQL> drop text index idxtextblock from test_srh;

 

dmSQL> create ivf text index idxtextblock on test_srh (TextBlock);

 

dmSQL>  rebuild text index IDXTEXTBLOCK for test_srh;

 

dmSQL>  select * from test_srh where TextBlock match 'a080'u;

 

    ID                   NAME                 TEXTBLOCK

=========== ============================== ================

          1              NULL              a080505b

Average rating 0 (0 Votes)

You cannot comment on this entry

Tags