আমার কাছে একটি বৃহত ডাটাবেস (16 এম সারি) রয়েছে যা ধারণাগত ধারণাগত হ্যাশগুলি ধারণ করে।
আমি একটি যুক্তিসঙ্গত সময়সীমার মধ্যে হ্যামিংয়ের মাধ্যমে সারিগুলির সন্ধান করতে সক্ষম হতে চাই ।
বর্তমানে, আমি যতদূর বিষয়টি সঠিকভাবে বুঝতে পেরেছি, আমি মনে করি যে এখানে সর্বোত্তম বিকল্পটি একটি কাস্টম এসপি-জিএসটি বাস্তবায়ন হবে যা বিকে-ট্রি প্রয়োগ করে , তবে এটি অনেক কাজের মতো মনে হয়, এবং আমি এখনও ব্যবহারিক বিষয়ে অস্পষ্ট y একটি কাস্টম সূচকটি যথাযথভাবে প্রয়োগ করার বিশদ। Hamming দূরত্ব গণনা করা হচ্ছে নম্র যথেষ্ট, এবং আমি কি করতে যদিও জানি সি,।
মূলত, এখানে উপযুক্ত পদ্ধতির কী? আমার একটি হ্যাশের নির্দিষ্ট সম্পাদনা-দূরত্বের মধ্যে ম্যাচের জন্য ক্যোয়ারী করতে সক্ষম হওয়া দরকার। যেহেতু আমি এটি বুঝতে পারি, সমান দৈর্ঘ্যের স্ট্রিং সহ লেভেনস্টাইন দূরত্ব কার্যকরীভাবে হ্যামিং করছে, তাই আমি যা চাই তার জন্য কমপক্ষে কিছু বিদ্যমান সমর্থন রয়েছে যদিও এটি থেকে কোনও সূচক তৈরি করার কোনও সুস্পষ্ট উপায় নেই (মনে রাখবেন, আমি যে মানটির জন্য জিজ্ঞাসা করছি পরিবর্তিত হয় a আমি একটি নির্দিষ্ট মান থেকে দূরত্বের প্রাক গণনা করতে পারি না, কারণ এটি কেবলমাত্র সেই এক মানের জন্য কার্যকর হবে) be
হ্যাশগুলি বর্তমানে 64৪-চর স্ট্রিং হিসাবে সংরক্ষণ করা হয় যা হ্যাশের বাইনারি ASCII এনকোডিং রয়েছে (যেমন "10010101 ...") তবে আমি এগুলি সহজেই যথেষ্ট পরিমাণে 64 এ রূপান্তর করতে পারি। আসল ইস্যুটি হ'ল আমার তুলনামূলকভাবে দ্রুত জিজ্ঞাসা করতে সক্ষম হওয়া দরকার।
এটি দেখে মনে হচ্ছে এটা আমি কি সাথে করতে চান লাইন বরাবর কিছু অর্জন করা সম্ভব হতে পারে pg_trgm
, কিন্তু আমি কিভাবে trigram ম্যাচিং mechamism কাজের উপর একটি বিট অস্পষ্ট আছি (বিশেষ করে, কি মিল আছে মেট্রিক এটা ফেরৎ আসলে চিত্রিত করে? দেখে মনে হচ্ছে ধরনের সম্পাদনা-দূরত্ব)
Sertোকানো কর্মক্ষমতা সমালোচনামূলক নয় (প্রতিটি সারিটির জন্য হ্যাশগুলি গণনা করা খুব কম্পিউটেশনালি ব্যয়বহুল), তাই আমি প্রাথমিকভাবে অনুসন্ধানের বিষয়ে যত্নশীল।