django_sphinx_db SphinxQL মাধ্যমে স্পিংক্স সাথে মিথস্ক্রিয়া পারবেন একটি সহজ জ্যাঙ্গো ডাটাবেস ব্যাক হয়. এটি মূলত স্পিংক্স জন্য কিছু পরিবর্তন ডিফল্ট জ্যাঙ্গো মাইএসকিউএল ব্যাক হয়.
SphinxQL স্পিংক্স searchd সমর্থন করে একটি মাইএসকিউএল ক্লোন মোড. এটা আপনি নিয়মিত পুরানো এসকিউএল বাক্য গঠন মাধ্যমে সূচী প্রশ্ন করতে পারবেন. আপনি আর.টি. (রিয়েল টাইম) সূচী ব্যবহার করে থাকেন, আপনি যুক্ত এবং সূচক আপডেট নথি করতে পারেন.
এই ব্যাক জ্যাঙ্গো settings.py একটি ডাটাবেস হিসাবে configued করা বোঝানো হয়.
এই প্যাকেজের মাধ্যমে একটি ম্যানেজার বর্গ, SQLCompiler স্যুট উপলব্ধ করা হয় এবং কোড সমর্থন করা সম্ভব.
ব্যবহারের
প্রথম সব, আপনি জ্যাঙ্গো কনফিগারেশন একটি ডাটাবেস সংযোগ সংজ্ঞায়িত করতে হবে. এছাড়াও আপনি স্পিংক্স ডাটাবেস রাউটার এবং ইনস্টল আপনার INSTALLED_APPS তালিকায় django_sphinx_db যোগ করুন.
# Django_sphinx_db ইনস্টল করুন:
INSTALLED_APPS + + = ('django_sphinx_db',)
# এই ডেটাবেসে স্পিংক্স সার্ভারের নাম:
SPHINX_DATABASE_NAME = 'স্পিংক্স'
# স্পিংক্স সংযোগ নির্ধারণ
ডেটাবেস = {
& Nbsp; 'ডিফল্ট': {
& Nbsp; # আপনার ডিফল্ট ডাটাবেস সংযোগ এখানে যায় ...
& Nbsp;},
& Nbsp; SPHINX_DATABASE_NAME: {
& Nbsp; 'ইঞ্জিন': 'django_sphinx_db.backend.sphinx',
& Nbsp; # ডাটাবেসের নাম ব্যাপার না.
& Nbsp; 'নাম': '',
& Nbsp; # কোন ব্যবহারকারী নাম বা পাসওয়ার্ড আছে.
& Nbsp; 'ব্যবহারকারী': '',
& Nbsp; 'পাসওয়ার্ড': '',
& Nbsp; স্থানীয় হোস্ট ব্যবহার করবেন না #, এই পরিবর্তে বিভিন্ন TCP একটি UDS ব্যবহার করে স্থাপিত হবে ...
& Nbsp; 'হোস্ট': '127.0.0.1',
& Nbsp; 'পোর্ট': '9306',
& Nbsp;},
}
# ... এবং রুট অনুযায়ী ...
DATABASE_ROUTERS = (
& Nbsp; 'django_sphinx_db.routers.SphinxRouter',
) `` `
তারপর SphinxModel থেকে যে একটি মডেল নির্ধারণ করুন. স্বাভাবিক হিসাবে, মডেল models.py স্থাপন করা হবে.
django_sphinx_db.backend.models থেকে SphinxModel, SphinxField আমদানি
বর্গ MyIndex (SphinxModel):
& Nbsp; বর্গ মেটা:
& Nbsp; এই পরবর্তী বিট গুরুত্বপূর্ণ #, আপনি জ্যাঙ্গো পরিচালনা করতে চান না
& Nbsp; # এই মডেল জন্য টেবিল.
& Nbsp; = মিথ্যা পরিচালিত
& Nbsp; নাম = SphinxField ()
& Nbsp; কন্টেন্ট = SphinxField ()
& Nbsp; তারিখ = models.DateTimeField ()
& Nbsp; আকার = models.IntegerField ()
স্পিংক্স কনফিগার করার পদ্ধতি
এখন আপনি আপনার সূচক জন্য একটি কনফিগারেশন ফাইল তৈরি করা প্রয়োজন. একটি ব্যবস্থাপনা কমান্ড উপযুক্ত কনফিগারেশন মডেল সংজ্ঞা রূপান্তর প্রদান করা হয়.
& Nbsp; পাইথন manage.py syncsphinx >> /etc/sphinx.conf
& Nbsp; চ /etc/sphinx.conf
উত্পন্ন কনফিগ ফাইল যাইহোক, আপনি [স্পিংক্স কনফিগারেশন রেফারেন্স] বিরুদ্ধে কনফিগারেশন পর্যালোচনা আহ্বান জানান হয় একটি ভালো শুরু করা উচিত (http://sphinxsearch.com/docs/2.0.2/confgroup-index.html).
স্পিংক্স সঙ্গে জ্যাঙ্গো ORM ব্যবহার করে
আপনি এখন প্রশ্ন করতে এবং জ্যাঙ্গো ORM ব্যবহার করে আপনার বাস্তব সময় সূচক পরিচালনা করতে পারেন. আপনি সন্নিবেশ এবং নিম্নলিখিত পদ্ধতি ব্যবহার করে সূচক নথি আপডেট করতে পারেন. উদাহরণ নিচে প্লেইন টেক্সট ফাইল হিসাবে বিষয়বস্তু পড়ার জন্য [ফুল টেক্সট লাইব্রেরি] (https://github.com/btimby/fulltext) ব্যবহার করে.
আমদানি অপারেটিং সিস্টেম, সময়, ফুল টেক্সট
# সূচক একটি নথি যোগ করুন.
পথ = 'resume.doc'
ম = os.stat (পথ)
MyIndex.objects.create (
& Nbsp; নাম = পথ,
& Nbsp; কন্টেন্ট = fulltext.get (পথ, ''),
& Nbsp; আকার = st.st_size,
& Nbsp; তারিখ = time.strftime ('% Y-% m-% ঘ% এইচ:% m:% s', time.localtime (st.st_mtime)),
)
# সূচক একটি নথি আপডেট করুন
ডক = MyIndex.objects.get (PK = 1)
doc.content = fulltext.get (পথ, '')
doc.size = st.st_size
doc.date = time.strftime ('% Y-% m-% ঘ% এইচ:% m:% s', time.localtime (st.st_mtime))
doc.save ()
আপনি জ্যাঙ্গো অনুসন্ধান অপারেটর ব্যবহার করে পুরো টেক্সট অনুসন্ধান করতে পারেন. আরও তথ্যের জন্য জ্যাঙ্গো ডকুমেন্টেশন পড়ুন.
MyIndex.objects.filter (content__search = 'Foobar')
ক্যোয়ারী স্পিংক্স সরাসরি মাধ্যমে প্রেরণ করা হয়, তাই স্পিংক্স বাড়ানো কোয়ারী সিনট্যাক্স বিবেচনা করা হয়.
ইউনিট টেস্টিং
জ্যাঙ্গো জন্য স্পিংক্স ব্যাক create_test_db এবং destroy_test_db কল উপেক্ষা করা হবে. স্পিংক্স ডাটাবেস কনফিগার করা হলে এই কল চলমান পরীক্ষা থেকে আপনি বাধা, ব্যর্থ হবে. তবে, এই যে কোনো কনফিগার স্পিংক্স ডাটাবেস পরীক্ষার সময় ব্যবহার করা হবে. যতদিন আপনি মনের মধ্যে এই সঙ্গে আপনার পরীক্ষা লিখুন, কোন সমস্যা আছে উচিত. . আপনি পরীক্ষা রান সময় একটি ভিন্ন ডাটাবেস সংযোগ প্রশ্ন পুনর্নির্দেশ করতে TEST_NAME ডাটাবেস সংযোগ পরামিতি ব্যবহার করতে পারেন মনে রাখবেন যে,
আবশ্যক
- পাইথন
- জ্যাঙ্গো
পাওয়া মন্তব্যসমূহ না