| Bug #70240 | match against search in hindi | ||
|---|---|---|---|
| Submitted: | 4 Sep 2013 11:37 | Modified: | 5 Mar 2014 8:08 |
| Reporter: | himanshu sharma | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Server: FULLTEXT search | Severity: | S3 (Non-critical) |
| Version: | 5.5.37 | OS: | Linux (redhat 7.8) |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | hindi search | ||
[4 Sep 2013 13:10]
MySQL Verification Team
Thank you for the bug report. Please provide a complete test case: create table/insert data/query/actual result set/expected result set. Thanks.
[5 Sep 2013 6:53]
himanshu sharma
TEST CASE :::
CREATE TABLE -
CREATE TABLE `DNA_Files_2011_Keywords` (`channel_slno` int(11) NOT NULL default '0',`cat_id` int(11) NOT NULL default '0',`filename` varchar(100) character set latin1 NOT NULL default '',`title` longtext NOT NULL,`short_headline` varchar(255) NOT NULL default '',`description` text NOT NULL,`timestamp` varchar(100) character set latin1 NOT NULL default '',`imgflag` int(2) NOT NULL default '0',`keywords` text NOT NULL,`slno` int(11) NOT NULL auto_increment,`storyid` int(11) NOT NULL default '0',`edit_flag` char(1) character set latin1 NOT NULL default '',
PRIMARY KEY (`slno`),
KEY `cat_id` (`cat_id`),KEY `filename` (`filename`),KEY `storyid` (`storyid`),KEY `edit_flag` (`edit_flag`),
FULLTEXT KEY `keywords` (`keywords`),
FULLTEXT KEY `title` (`title`),
FULLTEXT KEY `Keywords_BrowserTitle` (`keywords`,`description`),
FULLTEXT KEY `keywords_2` (`keywords`,`title`,`description`)) ENGINE=MyISAM;
INSERT RECORDS -
INSERT INTO `DNA_Files_2011_Keywords` (`channel_slno`, `cat_id`, `filename`, `title`, `short_headline`, `description`, `timestamp`, `imgflag`, `keywords`, `slno`, `storyid`, `edit_flag`) VALUES
(521, 6794, 'c-181-964279-NOR', 'गेटअप देखकर तो à¤à¤¸à¤¾ नहीं लगा जो थोड़ी देर बाद यहां होने लगा!', 'गेटअप देखकर तो à¤à¤¸à¤¾ नहीं...', '', '0.32991300_1378361522', 0, '', 5576220, 8814438, '3'),
(521, 4182, 'ENT-BOL-have-sex-when-you-want-to-have-it-parineeti-chopra-4366577-PHO', 'परिणीति ने कहा, ''जब आपका मन करे तब करें सेकà¥à¤¸''', 'परिणीति ने कहा, ''जब आपका मन करे तब करें सेकà¥à¤¸''', 'have sex when you want to have it: parineeti chopra', '0.51735300_1378360735', 1, 'have sex when you want to have it: parineeti chopra,parineeti chopra,shuddh desi romance', 5576219, 8814437, '1'),
(521, 1719, 'c-16-571504-NOR', 'बà¥à¤µà¤¾à¤¯à¤«à¥à¤°à¥‡à¤‚ड को बरà¥à¤¥ डे पर गिफà¥à¤Ÿ में लेने दी नà¥à¤¯à¥‚ड फोटो और फिर...', 'बà¥à¤µà¤¾à¤¯à¤«à¥à¤°à¥‡à¤‚ड को बरà¥à¤¥ डे पर...', '', '0.01959400_1378361402', 0, '', 5576218, 8814435, '3'),
(521, 1719, 'c-16-571503-NOR', 'à¤à¤®à¤¬à¥€à¤¬à¥€à¤à¤¸ की 64 मैनेजमेंट सीटों के लिठकाउंसिलिंग कल', 'à¤à¤®à¤¬à¥€à¤¬à¥€à¤à¤¸ की 64 मैनेजमेंट...', '', '0.68523000_1378361281', 0, '', 5576217, 8814434, '3'),
(521, 1719, 'c-16-571502-NOR', 'जिमà¥à¤®à¥‡à¤¦à¤¾à¤°à¥‹à¤‚ ने कहा मेडिकल कॉलेज चलाठसà¥à¤ªà¤° सà¥à¤ªà¥‡à¤¶à¤¿à¤¯à¤¾à¤²à¤¿à¤Ÿà¥€ विà¤à¤¾à¤—', 'जिमà¥à¤®à¥‡à¤¦à¤¾à¤°à¥‹à¤‚ ने कहा मेडिकल...', '', '0.48085100_1378361162', 0, '', 5576216, 8814432, '3'),
(521, 2859, 'MAT-RAJ-OTH-c-195-91748-NOR', 'चूलà¥à¤¹à¤¾ à¤à¤à¤•ा महिला à¤à¥à¤²à¤¸à¥€', 'चूलà¥à¤¹à¤¾ à¤à¤à¤•ा महिला à¤à¥à¤²à¤¸à¥€', 'चूलà¥à¤¹à¤¾ à¤à¤à¤•ा महिला à¤à¥à¤²à¤¸à¥€à¤à¥€à¤²à¤µà¤¾à¤¡à¤¼à¤¾. मंडपिया रेलवे सà¥à¤Ÿà¥‡à¤¶à¤¨ कà¥à¤·à¥‡à¤¤à¥à¤° में बà¥à¤§à¤µà¤¾à¤° रात à¤à¤• हादसे में महिला à¤à¥à¤²à¤¸ गई। उसे...', '0.05030800_1378340042', 0, 'Rajasthan,Bhilwara,Bhilwara,Gulabpura', 5576056, 8814136, '1');
QUERY -
select SQL_CACHE match(keywords,title,description) against ('+चूल्हा +भभका +महिला +झुलसी' in boolean mode) as score,title, DATE_FORMAT(datetime,'%M %e,%Y %h:%i %p') AS datetimeformat, storyid, filename, channel_slno,description,keywords from DNA_Files_2011_Keywords where edit_flag='1' AND match(keywords,title,description) against ('+चूल्हा +भभका +महिला +झुलसी' in boolean mode) ORDER BY score DESC,datetime DESC LIMIT 0, 10
ACTUAL RESULT -
Total Numrows : 0
EXPECTED RESULT -
चूल्हा भभका महिला झुलसी
http://www.bhaskar.com/article-srh/MAT-RAJ-OTH-c-195-91748-NOR.html
चूल्हा भभका महिला झुलसीभीलवाड़ा. मंडपिया रेलवे स्टेशन क्षेत्र में बुधवार रात एक हादसे में महिला झुलस गई। उसे...
Keywords : Rajasthan,Bhilwara,Bhilwara,Gulabpura
In the inserted values, the junk characters that we see are actually characters in Hindi. It has been converted to Utf8 unicode format.
This same test case , if executed on mysql 5.0.95 runs perfectly fine. While doesn't give any result when upgraded to mysql 5.5 or 5.6 series.
Please help and suggest.
Thanks,
Himanshu
[5 Mar 2014 8:08]
MySQL Verification Team
Hello Himanshu, Thank you for the bug report. Verified as described. Thanks, Umesh
[5 Mar 2014 8:09]
MySQL Verification Team
// How to repeat
// 5.5.37 -- affected
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.5.37 |
+-----------+
1 row in set (0.00 sec)
mysql> show global variables like '%char%';
+--------------------------+----------------------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /data/ushastry/server/mysql-5.5.37/share/charsets/ |
+--------------------------+----------------------------------------------------+
8 rows in set (0.00 sec)
mysql> DROP TABLE IF EXISTS DNA_Files_2011_Keywords;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> CREATE TABLE `DNA_Files_2011_Keywords` (
-> `channel_slno` int(11) NOT NULL DEFAULT '0',
-> `cat_id` int(11) NOT NULL DEFAULT '0',
-> `filename` varchar(100) NOT NULL DEFAULT '',
-> `title` longtext NOT NULL,
-> `short_headline` varchar(255) NOT NULL DEFAULT '',
-> `description` mediumtext NOT NULL,
-> `timestamp` varchar(100) NOT NULL DEFAULT '',
-> `imgflag` int(2) NOT NULL DEFAULT '0',
-> `keywords` mediumtext NOT NULL,
-> `slno` int(11) NOT NULL AUTO_INCREMENT,
-> `storyid` int(11) NOT NULL DEFAULT '0',
-> `edit_flag` char(1) NOT NULL DEFAULT '',
-> PRIMARY KEY (`slno`),
-> KEY `cat_id` (`cat_id`),
-> KEY `filename` (`filename`),
-> KEY `storyid` (`storyid`),
-> KEY `edit_flag` (`edit_flag`),
-> FULLTEXT KEY `keywords` (`keywords`),
-> FULLTEXT KEY `title` (`title`),
-> FULLTEXT KEY `Keywords_BrowserTitle` (`keywords`,`description`),
-> FULLTEXT KEY `keywords_2` (`keywords`,`title`,`description`)
-> ) ENGINE=MyISAM DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 0 rows affected (0.01 sec)
mysql> ALTER TABLE DNA_Files_2011_Keywords CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> INSERT INTO `DNA_Files_2011_Keywords` (`channel_slno`, `cat_id`, `filename`, `title`, `short_headline`, `description`, `timestamp`, `imgflag`, `keywords`, `slno`, `storyid`, `edit_flag`) VALUES (521, 6794, 'c-181-964279-NOR', 'चूल्हा भभका महिला झुलसी', 'चूल्हा भभका महिला झुलसी', 'भीलवाड़ा. मंडपिया रेलवे स्टेशन क्षेत्र में बुधवार रात एक हादसे में महिला झुलस गई। उसे जिला अस्पताल में भर्ती कराया गया। एमजीएच चौकी के मुताबिक, मूलतया पटना, बिहार हाल मंडपिया स्टेशन निवासी सुनील पाण्डेय की पत्नी माला बुधवार रात चूल्हे पर खाना बना रही थी। तभी उसकी बेटी ताक में रखी केरोसिन से भरी पीपी उतारने लगी, जो उसके हाथ से छूटकर चूल्हे पर जा गिरी। केरोसिन गिरने से चूल्हा भभक गया और माला के कपड़ों ने आग पकड़ ली। इससे माला 70 फीसदी झुलस गई।
'> किशोरी का अपहरण भीलवाड़ा. चंद्रशेखर आजाद नगर से एक किशोरी को अगवा कर बंधक बनाने का मामला प्रताप नगर पुलिस ने दर्ज किया है। पुलिस ने बताया कि कांवाखेड़ा की एक किशोरी 24 जुलाई को चंद्रशेखर आजाद नगर क्षेत्र में बकरियां चराने गई, जो घर नहीं लौटी। परिजनों ने उसकी तलाश की तो पता चला कि किशोरी का सुरेश ओड ने अपहरण कर लिया। ','0.32991300_1378361522', 0, '', 5576220, 8814438, '3');
Query OK, 1 row affected (0.00 sec)
mysql> select SQL_CACHE match(keywords,title,description) against ('+चूल्हा +भभका +महिला +झुलसी' in boolean mode) as score,title, DATE_FORMAT(timestamp,'%M %e,%Y %h:%i %p') AS datetimeformat, storyid, filename, channel_slno,description,keywords from DNA_Files_2011_Keywords where edit_flag='3' AND match(keywords,title,description) against ('+भभक' in boolean mode) ORDER BY score DESC,timestamp DESC LIMIT 0, 10;
Empty set (0.00 sec)
mysql>
[5 Mar 2014 8:10]
MySQL Verification Team
/// Works as expected
mysql> select version();
+------------+
| version() |
+------------+
| 5.0.96-log |
+------------+
1 row in set (0.00 sec)
mysql> show global variables like '%char%';
+--------------------------+----------------------------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /data/ushastry/server/mysql-5.0.96/share/mysql/charsets/ |
+--------------------------+----------------------------------------------------------+
mysql> DROP TABLE IF EXISTS DNA_Files_2011_Keywords;
mysql> CREATE TABLE `DNA_Files_2011_Keywords` (
`channel_slno` int(11) NOT NULL DEFAULT '0',
`cat_id` int(11) NOT NULL DEFAULT '0',
`filename` varchar(100) NOT NULL DEFAULT '',
`title` longtext NOT NULL,
`short_headline` varchar(255) NOT NULL DEFAULT '',
`description` mediumtext NOT NULL,
`timestamp` varchar(100) NOT NULL DEFAULT '',
`imgflag` int(2) NOT NULL DEFAULT '0',
`keywords` mediumtext NOT NULL,
`slno` int(11) NOT NULL AUTO_INCREMENT,
`storyid` int(11) NOT NULL DEFAULT '0',
`edit_flag` char(1) NOT NULL DEFAULT '',
PRIMARY KEY (`slno`),
KEY `cat_id` (`cat_id`),
KEY `filename` (`filename`),
KEY `storyid` (`storyid`),
KEY `edit_flag` (`edit_flag`),
FULLTEXT KEY `keywords` (`keywords`),
FULLTEXT KEY `title` (`title`),
FULLTEXT KEY `Keywords_BrowserTitle` (`keywords`,`description`),
FULLTEXT KEY `keywords_2` (`keywords`,`title`,`description`)
) ENGINE=MyISAM DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
// Not required but still altering
mysql> ALTER TABLE DNA_Files_2011_Keywords CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> INSERT INTO `DNA_Files_2011_Keywords` (`channel_slno`, `cat_id`, `filename`, `title`, `short_headline`, `description`, `timestamp`, `imgflag`, `keywords`, `slno`, `storyid`, `edit_flag`) VALUES (521, 6794, 'c-181-964279-NOR', 'चूल्हा भभका महिला झुलसी', 'चूल्हा भभका महिला झुलसी', 'भीलवाड़ा. मंडपिया रेलवे स्टेशन क्षेत्र में बुधवार रात एक हादसे में महिला झुलस गई। उसे जिला अस्पताल में भर्ती कराया गया। एमजीएच चौकी के मुताबिक, मूलतया पटना, बिहार हाल मंडपिया स्टेशन निवासी सुनील पाण्डेय की पत्नी माला बुधवार रात चूल्हे पर खाना बना रही थी। तभी उसकी बेटी ताक में रखी केरोसिन से भरी पीपी उतारने लगी, जो उसके हाथ से छूटकर चूल्हे पर जा गिरी। केरोसिन गिरने से चूल्हा भभक गया और माला के कपड़ों ने आग पकड़ ली। इससे माला 70 फीसदी झुलस गई।
किशोरी का अपहरण भीलवाड़ा. चंद्रशेखर आजाद नगर से एक किशोरी को अगवा कर बंधक बनाने का मामला प्रताप नगर पुलिस ने दर्ज किया है। पुलिस ने बताया कि कांवाखेड़ा की एक किशोरी 24 जुलाई को चंद्रशेखर आजाद नगर क्षेत्र में बकरियां चराने गई, जो घर नहीं लौटी। परिजनों ने उसकी तलाश की तो पता चला कि किशोरी का सुरेश ओड ने अपहरण कर लिया। ','0.32991300_1378361522', 0, '', 5576220, 8814438, '3');
mysql> select SQL_CACHE match(keywords,title,description) against ('+चूल्हा +भभका +महिला +झुलसी' in boolean mode) as score,title, DATE_FORMAT(timestamp,'%M %e,%Y %h:%i %p') AS datetimeformat, storyid, filename, channel_slno,description,keywords from DNA_FiC LIMIT 0, 10\Gds where edit_flag='3' AND match(keywords,title,description) against ('+भभक' in boolean mode) ORDER BY score DESC,timestamp DESC
*************************** 1. row ***************************
score: 1
title: चूल्हा भभका महिला झुलसी
datetimeformat: NULL
storyid: 8814438
filename: c-181-964279-NOR
channel_slno: 521
description: भीलवाड़ा. मंडपिया रेलवे स्टेशन क्षेत्र में बुधवार रात एक हादसे में महिला झुलस गई। उसे जिला अस्पताल में भर्ती कराया गया। एमजीएच चौकी के मुताबिक, मूलतया पटना, बिहार हाल मंडपिया स्टेशन निवासी सुनील पाण्डेय की पत्नी माला बुधवार रात चूल्हे पर खाना बना रही थी। तभी उसकी बेटी ताक में रखी केरोसिन से भरी पीपी उतारने लगी, जो उसके हाथ से छूटकर चूल्हे पर जा गिरी। केरोसिन गिरने से चूल्हा भभक गया और माला के कपड़ों ने आग पकड़ ली। इससे माला 70 फीसदी झुलस गई।
किशोरी का अपहरण भीलवाड़ा. चंद्रशेखर आजाद नगर से एक किशोरी को अगवा कर बंधक बनाने का मामला प्रताप नगर पुलिस ने दर्ज किया है। पुलिस ने बताया कि कांवाखेड़ा की एक किशोरी 24 जुलाई को चंद्रशेखर आजाद नगर क्षेत्र में बकरियां चराने गई, जो घर नहीं लौटी। परिजनों ने उसकी तलाश की तो पता चला कि किशोरी का सुरेश ओड ने अपहरण कर लिया।
keywords:
[13 Mar 2014 5:22]
MySQL Verification Team
Bug #72010 Marked as duplicate of this..
[13 Mar 2014 9:00]
Peter Laursen
If Hindi is affected it is possible (likely?) that also affected are: 1) Other Indian languages (Bengali, Gujarati, Maharati, Tamil etc.) 2) Urdu (also widespreadedly used in India in addition to being the largest language in Pakistan) 3) South East Asian languages like Thai, Khmer ...

Description: We migrated our replication DB servers from 5.0.95 to 5.5.21 All the applications were running fine, except that one of the functionality which was for searching text in hindi was not working. It is a MYIsam table, having FULLTEXT index over three columns all having same character sets and collations. Its been 6 days, since we did almost everything that was possible for all the possible solutions that we could. While against all odds , English search was working perfectly fine for the same columns. Query being used :: select SQL_CACHE match(keywords,title,description) against ('जिसकी वजह से जीत' in boolean mode) as score,title, DATE_FORMAT(datetime, '%M %e,%Y %h:%i %p') AS crDateTime,datetime, storyid, filename, DATE(datetime) as storydate, channel_slno, keywords,description from "table_name" match(keywords,title,description) against ('जिसकी वजह से जीत' in boolean mode) ORDER BY score DESC,datetime DESC How to repeat: you can install the same version that i have... i.e. 5.5.21 and the try to search on a table having fulltext index over column. It doesn't give you the correct results but indeed results all the data. Also,you can try it by changing several parameters like :: character_set_client character_set_server character_set_results