ملتے جلتے اردو یونیکوڈ حروف کو تلاش کرنا

السلام علیکم!
میں ایک پروگرام لکھ رہا ہوں جاوا لینگویج میں۔
پروگرام میں تلاش کا فیچر بھی دینا ہے۔
ایک مسئلہ یہ درپیش ہے کہ اردو یونیکوڈ میں ملتے جلتے حروف بھی ہیں، جب ان میں سے کسی ایک کو تلاش کرتا ہوں تو دوسرا نہیں ملتا۔
مثال کے طور پر
ڈیٹا میں موجود "میز" میں 'ي' استعمال ہوئی ہے۔ اور میں 'ی' کے ساتھ "میز" لکھ کر تلاش کر رہا ہوں۔ جس پر ڈیٹا نہیں ملتا۔
یا "شاہین" اور "شاہیں" میں 'ں' اور 'ن'
اس کا کیا حل کیا جائے؟ میں نے کچھ اور سافٹوئیرز اور ویبسائٹس پر اس طرح تلاش کر کے دیکھا تو یہی مسئلہ آیا۔ حتیٰ کہ گوگل پر بھی۔
جزاک اللہ خیر
 
آخری تدوین:

arifkarim

معطل
میں پروگرامنگ کی باریکیاں تو نہیں جانتا البتہ اندازہ لگا سکتا ہوں کہ اگر کی اسٹروک کو یونیکوڈ کیریکٹر میں کنورٹ کر دیا جائے اور پھر سرچ کروایا جائے تو شاید افاقہ ہو۔
 
میں پروگرامنگ کی باریکیاں تو نہیں جانتا البتہ اندازہ لگا سکتا ہوں کہ اگر کی اسٹروک کو یونیکوڈ کیریکٹر میں کنورٹ کر دیا جائے اور پھر سرچ کروایا جائے تو شاید افاقہ ہو۔
ان حروف کے کیریکٹر کوڈ مختلف ہیں۔
 
ایک طریقہ جو میرے ذہن میں ہے وہ یہ کہ ایک انڈیکس ڈیٹابیس بنا لوں اور ملتے جلتے حروف کو لنک کر دوں، مگر اس سے تلاش میں وقت زیادہ لگ جائے گا۔
 

arifkarim

معطل
ایک طریقہ جو میرے ذہن میں ہے وہ یہ کہ ایک انڈیکس ڈیٹابیس بنا لوں اور ملتے جلتے حروف کو لنک کر دوں، مگر اس سے تلاش میں وقت زیادہ لگ جائے گا۔
محفل پر کافی جاوا اور پروگرامنگ ایکسپرٹس موجود ہیں۔ تھوڑا حوصلہ رکھیں۔ جلد رہنمائی مل جائے گی۔
 

اسد

محفلین
آسان حل: اگر عربی حروف کو تبدیل کرنا ممکن نہیں ہے تو پھر تلاش کی ونڈو میں کوئی چیک بوکس شامل کریں اور اسے چننے پر ریگ‌ایکس (ریگولر ایکسپریشن) استعمال کرتے ہوئے تلاش کریں۔ کوڈ میں تلاش کے الفاظ میں ی کو [ی|ي] یا جاوا کے ایکسپریشن سے تبدیل کر کے تلاش کریں۔ ایسے ہی دوسرے حروف بھی تبدیل کریں۔

اگر محنت کرنا چاہتے ہیں تو جاوا میں ساؤنڈیکس پر مواد تلاش کریں۔
 
آسان حل: اگر عربی حروف کو تبدیل کرنا ممکن نہیں ہے تو پھر تلاش کی ونڈو میں کوئی چیک بوکس شامل کریں اور اسے چننے پر ریگ‌ایکس (ریگولر ایکسپریشن) استعمال کرتے ہوئے تلاش کریں۔ کوڈ میں تلاش کے الفاظ میں ی کو [ی|ي] یا جاوا کے ایکسپریشن سے تبدیل کر کے تلاش کریں۔ ایسے ہی دوسرے حروف بھی تبدیل کریں۔

اگر محنت کرنا چاہتے ہیں تو جاوا میں ساؤنڈیکس پر مواد تلاش کریں۔
جزاک اللہ۔
جی پہلا حل ہے آسان لیکن بہت وقت لے گا کسی بھی لفظ کو تلاش کرنے میں۔
ساؤنڈیکس بھی وقت لیتا ہے اور اَدھر اُدھر کے بھی کافی الفاظ تلاش کر لیتا ہے۔ کیونکہ وہ دو الفاظ میں موجود مشترکہ حروف کی بنیاد پر تلاش کرتا ہے۔
مثلاً وہ مبین تلاش کرنے پر منیب بھی اٹھا لائے گا۔
 
فوری طور پر اس کے دو حل سامنے نظر آ رہے ہیں، ایک اسپیس آپٹیمائزڈ ہے تو دوسرا ٹائم آپٹیمائزڈ۔ یعنی ایک طریقہ کار تو یہ ہو سکتا ہے کہ ایک فہرست بنا لیں جس میں مماثل حروف کے گروپ اکٹھا کر لیں، پھر جب بھی کوئی لفظ تلاش کیا جائے تو اس لفظ میں موجود تمام ایسے حروف جو ایک سے زائد مماثل رکھتے ہوں ان کے ساتھ یکے بعد دیگرے تمام "کمبینیشنز" تیار کر لیں اور پھر ان تمام کمبینیشنز والے الفاظ کو تلاش کر کے نتائج ضم کر دیں۔ اس ترکیب میں آپ چاہیں تو نتائج کو اس انداز سے مرتب کر سکتے ہیں کہ جن نتائج میں تلاش کے الفاظ بعینہ موجود ہوں ان کو سب سے پہلے پیش کریں۔ دوسرا طریقہ یہ ہوگا کہ جن ڈیٹا بیس کے کالمز میں تلاش مقصود ہوں ان کے متوازی "کینانیکل" کالم بنا لیں اور تمام مماثل حروف کے گروپوں میں سے ایک ایک حرف کو گروپ لیڈر متعین کر لیں مثلاً ن اور ں کے گروپ میں ن کو کینانیکل مان لیں۔ یوں ڈیٹا کالم کو کینانیکلائز کر کے متعلقہ کینانیکل کالم میں محفوظ کر دیں جبکہ اصلی مواد کو جوں کا توں رہنے دیں۔ اس کے بعد تلاش کے الفاظ کو تلاش کے وقت اسی قاعدے کے تحت کینانیکلائز کر کے کینانیکل کالمز میں تلاش کریں۔ البتہ جو نتائج دکھائیں ان میں مواد اصلی کالم سے حاصل کر کے دکھائیں۔ :) :) :)
 
جزاک اللہ خیر۔
پہلی تجویز ذہن میں تھی، لیکن تلاش کے وقت پر سمجھوتہ نہیں کرنا چاہتا۔
دوسری تجویز قابلِ عمل ہو سکتی ہے، کیونکہ اسپیس میں گنجائش موجود ہے۔

پھر میں نے ڈیٹا پر تھوڑا وقت لگایا ہے تو یہی کچھ کیسز سامنے آئے ہیں۔
ں اور ن، ہ اور ھ، ی اور ي
ي کو تو میں ڈیٹا میں ہی ی سے تبدیل کر دوں گا، کیونکہ اس سے فرق نہیں پڑتا۔
ن اور ں کے لیے آپ کی تجویز پر عمل کر کے دیکھتا ہوں۔
ہ اور ھ کو رہنے دیتا ہوں۔
ایک دفعہ پھر بہت شکریہ بھائی وقت نکالنے کا۔
 
Top