وXapian هو مكتبة مفتوحة المصدر معلومات احتمالي استرجاع، الذي صدر تحت GPL. (بيرل، جافا، بيثون، PHP، وTCL حاليا؛ يجري العمل المكر وC # على) محطة الفضاء الدولية Xapian مكتوب في C، مع ربط للسماح للاستخدام من لغات أخرى.
تم تصميم Xapian أن تكون مجموعة أدوات قابلة للتكيف للغاية للسماح للمطورين بسهولة إضافة الفهرسة والبحث المرافق والتسهيلات المتطورة إلى التطبيقات الخاصة بها.
إذا كنت بعد محرك بحث تعبئتها لموقع الويب الخاص بك، يجب أن نلقي نظرة على أوميغا، والذي هو تطبيق نحن توريد مبنية على Xapian. ولكن خلافا لمعظم الحلول بحث الموقع الأخرى، وبراعة Xapian يسمح لك لتمديد أوميغا لتلبية الاحتياجات الخاصة بك لأنها تنمو
الميزات:
البرمجيات الحرة / مفتوحة المصدر - مرخصة بموجب GPL.
المحمولة للغاية - يعمل على العديد من لينكس، ماكنتوش، والعديد من منصات يونيكس أخرى، ومايكروسوفت ويندوز.
مكتوب في C. تتوفر في وحدة البحث :: Xapian على CPAN الارتباطات بيرل. وترد الارتباطات جافا JNI في وحدة xapian-الارتباطات. ونحن نؤيد أيضا إكرع التي يمكن أن تولد الارتباطات ل13 لغة. في الوقت الحاضر لتلك بيثون، PHP4، وTCL تعمل. يجري العمل المكر وC # جرا.
البحث في المرتبة probablistic - المهم الحصول على مزيد من الكلمات الوزن من الكلمات غير مهم، لذلك من المرجح أن تأتي بالقرب من أعلى قائمة نتائج أكثر الوثائق ذات الصلة.
أهمية ردود الفعل - بالنظر الوثائق واحد أو أكثر، ويمكن Xapian تشير شروط المؤشر الأكثر أهمية لتوسيع استعلام، وتشير الوثائق ذات الصلة، وتصنيف الوثائق، الخ
عبارة والقرب البحث - يمكن للمستخدمين البحث عن كلمات التي تحدث في العبارة بالضبط أو ضمن عدد محدد من الكلمات، إما في ترتيب معين، أو في أي أمر.
مجموعة كاملة من مشغلي بحث منطقي منظم (ومثل، الأسهم NOT السوق ومثل ؛، الخ). ونتائج البحث المنطقي عن الأوزان probablistic المرتبة. ويمكن أيضا أن تطبق المرشحات منطقية لتقييد البحث احتمالي.
يدعم النابعة من مصطلحات البحث (مثل البحث عن ومثل، وكرة القدم مثل؛ وتطابق الوثائق التي تذكر ومثل؛ كرات القدم ومثل؛ أو & مثل، لاعب كرة القدم ومثل؛). وهذا يساعد على العثور على وثائق ذات الصلة التي قد خلاف ذلك ينبغي تفويتها. وترد Stemmers حاليا لالدانمركية، الهولندية، الإنجليزية، الفنلندية، الفرنسية، الألمانية، الإيطالية والنرويجية والبرتغالية والروسية والاسبانية والسويدية.
يدعم ملفات قاعدة البيانات و GT. 2GB - ضرورية لرفع لمجموعات كبيرة الوثيقة.
منصة صيغ بيانات مستقلة - يمكنك بناء قاعدة بيانات على جهاز واحد والبحث على آخر.
يسمح التحديث والبحث في وقت واحد. تصبح وثائق جديدة للبحث على الفور.
فضلا عن مكتبة، ونحن توريد عدد من البرامج مثال صغير، وتطبيق أكبر - وهو الفهرسة وتطبيق يسمى أوميغا القائم CGI:
مفهرس زودت مؤشر يمكن HTML، PHP، PDF، بوستسكريبت، والنص العادي. إضافة دعم لفهرسة أشكال أخرى من السهل حيث هي مرشحات تحويل المتاحة (مثل مايكروسوفت وورد). هذا مفهرس يعمل باستخدام نظام الإيداع، ولكن علينا أيضا توفير النصي للسماح للhtdig الزاحف على شبكة الإنترنت ليكون مدمن مخدرات في، مما يسمح للمواقع النائية ليتم البحث باستخدام أوميغا.
يمكنك أيضا بيانات مؤشر من أي SQL أو RDBMS الأخرى التي تدعمها وحدة بيرل DBI. يتضمن الخلية، كيو، سكليتي، سايبيس، MS SQL، LDAP، وODBC.
البحث CGI الواجهة الأمامية المتوفرة مع ظهور عالية للتخصيص. وهذا يمكن أيضا أن تكون مخصصة لنتائج الإخراج في XML أو CSV، وهو أمر مفيد إذا كنت ديناميكيا توليد صفحات (على سبيل المثال مع PHP أو mod_perl) ونريد فقط نتائج البحث الخام التي يمكن معالجة في نفسه كود تخطيط الصفحة الخاصة بك.
ما هو الجديد في هذا الإصدار:
هذا الإصدار بإصلاح بعض الأخطاء الطفيفة ويضيف بعض الميزات الجديدة.
ما هو الجديد في الإصدار 1.2.4:
هذا الإصدار يضيف API لدمج وضغط قواعد البيانات، يجعل العديد من التحسينات إلى الياء، ويشمل القائم على إكرع الارتباطات بيرل جديدة، وإصلاحات بعض الذاكرة تسرب في بيثون.
ما هو الجديد في الإصدار 1.0.22:
ويحدد هذا النص عدة طفيفة البق، ويحسن قابلية.
ما هو الجديد في الإصدار 1.0.21:
Xapian النواة API:
يعترف Xapian :: الجذعية الآن ومثل، ومثل ملحوظة. وو مثل، ن ن ومثل. رموز كما إضافية لستيمر النرويجية.
Xapian :: QueryParser الآن يوزع مصطلح wildcarded بين فترتين الأخرى (تذكرة # 484) بشكل صحيح.
المنظر:
OP_OR يمكن تخطي وثيقة المطابقة إذا كان التهاوي لOP_AND أو OP_AND_MAYBE خلال المباراة في بعض الحالات. إصلاحات تذكرة # 476.
OP_XOR مع الاستعلامات الفرعية غير طرفية يمكن تخطي وثائق مطابقة في بعض الحالات، وOP_XOR من ثلاثة أو أكثر من الأسئلة الفرعية قد يعود الأوزان غير صحيحة. إصلاحات تذكرة # 475.
OP_OR هو الآن أكثر كفاءة إذا استعلام فرعي هو يحتمل أن تكون مكلفة (على سبيل المثال OP_VALUE_RANGE، OP_NEAR، OP_PHRASE، PostingSource). وقد لوحظ 10 أضعاف السرعة مع OP_VALUE_RANGE.
بناء النظام:
تثبيت ملفات لجعل Xapian أسهل للاستخدام مع cmake.
قابلية:
على معالجات x86، Xapian الآن الافتراضي باستخدام تعليمات SSE2 FP. هذا يتجنب القضايا مع الدقة الزائدة وبشكل أسرع قليلا جدا. إذا كنت بحاجة إلى دعم المعالجات دون SSE2 (وهذا يعني ما قبل Pentium4 وعن إنتل) ثم تكوين مع --disable-SSE. (تذكرة # 387)
ما هو الجديد في الإصدار 1.0.18:
QueryParser:
تحسين الدعم للغات مثل البورمية التي تستخدم Unicode أرفق علامة الجمع وتباعد أحرف علامة.
الصوان الخلفية:
عند تحديث الوثائق، لا تقم بتحديث نشر إدخالات التي لم تتغير (تذكرة # 250).
إصلاح قفل الرمز إلى العمل إذا تم إغلاقها ستدين و / أو المعياري.
ما هو الجديد في الإصدار 1.0.13:
API:
Xapian :: الوثيقة لم تعد من أي وقت مضى يخزن القيم الفارغة صراحة. لم يكن هذا السلوك المتعمد، وكيف تم التعامل مع هذه الحالة لم يتم توثيقها. ويتسق مع كيفية التعامل مع البيانات الوصفية المستخدم سلوك المعدلة. هذا التغيير هو و لا يمكن مشاهدته باستخدام وثيقة :: get_value ()، ولكن يمكن أن يكون لاحظت عندما بالتكرار مع الوثيقة :: values_begin ()، وذلك باستخدام وثيقة :: values_count ()، أو محاولة حذف القيمة مع الوثيقة :: remove_value ().
testsuite:
إصلاح testcase scaleweight4 لا تفشل على إلى x86 عند التحويل البرمجي مع -O0. وكانت مشكلة في التعليمات البرمجية testcase، وكان سببها الدقة الزائدة في القيم FP المتوسطة.
Testcases التي تحقق أن العمليات لديها O (...) السلوك المتوقع أي التحقق من الوقت وحدة المعالجة المركزية بدلا من الوقت wallclock على معظم المنصات، والتي ينبغي القضاء على الفشل في بعض الأحيان بسبب تحميل المسامير من العمليات الأخرى.
(تذكرة # 308)
إصلاح فشل الاختبار بسبب SKIP_TEST_FOR_BACKEND (ومثل، inmemory ومثل،) لا تخطي عندما يجب أن هذا يرجع إلى مقارنة سلاسل شار مع == (على الجذع قيمة الإرجاع التي يجري اختبارها هي STD :: سلسلة بدلا من CONST شار *).
تحسين التغطية اختبار في العديد من الحالات الزاوية.
إصلاح testcase consistency2 ليتم تشغيلها في الواقع (لحسن الحظ أنه يمر).
في testcases ولدت، استدعاء get_description () على الكائن الافتراضي شيدت من كل فئة للتأكد من أن يعمل (وليس محاولة لdereference NULL، أو تفشل بعض التأكيد، الخ). جميع الفئات سحبه حاليا على ما يرام - وهذا هو لتجنب الانحدار في المستقبل أو مثل هذه المشاكل مع فئات جديدة.
في الاختبار تغطية البناء، واستخدام ومثل؛ - تغطية ومثل. بدلا من ومثل، -fprofile أقواس--ftest تغطية ومثل ؛.
تسخير اختبار لديها الآن الخلفية inmemory ترفع علم عن دعم الفوقية المحددة من قبل المستخدم (بغض النظر عن التكرار على مفاتيح الفوقية).
المنظر:
إذا استعلام يحتوي على فرعي MatchAll، تحقق من ذلك قبل التحقق من شروط أخرى بحيث تكون الحلقة والذي يتحقق كيف يمكن مباراة العديد من المصطلحات الخروج المبكر إذا كانت كل مباراة.
عندما التهاوي وOR أو ANY_MAYBE إلى AND، كنا مبادلة بعناية الأطفال لأقصى قدر من الكفاءة، ولكن كان عكس الشرط لذلك كنا في الواقع جعل الأمور أسوأ. وقد لاحظت هذا لأنه كان يؤدي إلى نفس الاستعلام تشغيل أسرع عندما طلب المزيد من النتائج ل!
بناء فقط termname إلى termfreq والوزن الخريطة للحصول على وsubdatabase أولا بدلا من اعادة اعمارها لكل واحد. أيضا لا نسخ هذه الخريطة لإعادته. وهذا ينبغي تسريع عمليات البحث قليلا، خصوصا من هم فوق قواعد بيانات متعددة.
إذا فشل submatcher لكن ErrorHandler يخبرنا أن يستمر دون ذلك، نحن فقط استخدام مؤشر NULL للوقوف في بدلا من تخصيص وهمية وجوه مكان حامل خاص.
إزالة AndPostList، لصالح MultiAndPostList. تم AndPostList تستخدم فقط كمنتج تسوس (عن طريق AndMaybePostList وOrPostList)، ولا يبدو أن هناك أي أسرع. إزالة أنه يقلل من وحدة المعالجة المركزية ضغط ذاكرة التخزين المؤقت، وأقل كود للمحافظة عليه.
الاختيار المكالمة () بدلا من skip_to () على فرع اختياري من AND_MAYBE.
الصوان الخلفية:
إصلاح الخلل في TermIterator :: skip_to () عبر مفاتيح الفوقية.
الواجهة الخلفية عن بعد:
إصلاح الخيار --interface xapian-tcpsrv للعمل على ماك X (تذكرة # 373).
إصلاح الخطأ المطبعي الذي تسبب لنا للعودة للdocid بدلا من الحد الأقصى للوزن مستند من المباراة عن بعد يمكن أن يعود! من الممكن أن يؤدي ذلك إلى نتائج خاطئة عند البحث قواعد بيانات متعددة مع الخلفية النائية، ولكن ربما عادة لا يهم كما هو الحال مع BM25 أوزان صغيرة عموما (في كثير من الأحيان عن & # x3c؛ 1) في حين docids هي حتما & # x3e؛ = 1 .
الخلفية inmemory:
الخلفية inmemory لا يدعم بالتكرار عبر مفاتيح الفوقية. تحاول أن تفعل ذلك تستخدم لإعطاء التكرار فارغة، ولكن تم الآن الثابتة لرمي
UnimplementedError (والآن تم توثيق هذا القيد).
بناء النظام:
إزالة الكثير من شوائب رأس غير المستخدمة وغير المستخدمة بعض التعليمات البرمجية التي ينبغي أن تجعل من بناء أسرع وأصغر قليلا.
إصلاح لتجميع تحت --disable-الخلفية-الصوان، --disable-الخلفية-النائية، و--disable-الخلفية-inmemory.
لا تقم بإزالة أي مصادر بنيت في ومثل، وجعل مثل نظيفة و. حتى في ظل --make-معيل الوضع كما أن يكسر التحول شجرة بعيدا عن معيل الوضع مع: جعل distclean. ./ تكوين
تكوين: تمكين المزيد من تحذيرات دول مجلس التعاون الخليجي - ومثل، -Woverloaded ظاهري ومثل. لكافة إصدارات، ومثل، -Wstrict-خالية الحارس ومثل؛ ل4.0+، ومثل، -Wlogical المرجع -Wmissing-الإعلانات ومثل. ل4.3+. والجدير بالذكر ومثل، -Wmissing-الإعلانات ومثل. اشتعلت أن consistency2 لم يتم تشغيل.
داخليا، وتحديد الأماكن القليلة حيث يمكننا تمرير الأمراض المنقولة جنسيا :: سلسلة من حيث القيمة لتمرير بالرجوع CONST بدلا من ذلك (إلا إذا نحن بحاجة إلى نسخة للتعديل على أي حال) كما يظهر القياس أن الإشارة CONST هي أسرع قليلا ويولد أقل كود مع الإشارة عدها الأمراض المنقولة جنسيا دول مجلس التعاون الخليجي: : تنفيذ سلسلة - مع التنفيذ غير مرجعية عدها، وينبغي أن يكون إشارة CONST أسرع بكثير. (تذكرة # 140)
وثائق:
تثبيت: نحن اختبار لم يعد بانتظام بناء مع دول مجلس التعاون الخليجي 2.95.4 ونحن رفع النسخة دول مجلس التعاون الخليجي الأدنى المطلوب ل3.1 ل1.1.x. Xapian
وثيقة ما يمر maxitems = 0 إلى الاستفسار :: get_mset () لا.
مستندات / queryparser.html: إضافة أمثلة على استخدام بادئة على عبارة أو التعبير الجزئي.
تعليقات دي أكسجين الصحيحة لأداء وظائف الفوقية المستخدم: قاعدة بيانات :: get_metadata () رمي UnimplementedError لكن WritableDatabase :: set_metadata () يمكن.
توثيق أن قاعدة بيانات :: metadata_keys_begin () بإرجاع مكرر النهاية، اذا كان الواجهة الخلفية لا يدعم البيانات الوصفية.
HACKING: تحديث قائمة الحزم ديبيان / أوبونتو اللازمة لبيئة التطوير.
كود التصحيح:
إصلاح بناء مع --enable-التصحيح.
وأضاف بعض المزيد من التأكيدات.
ما هو الجديد في الإصدار 1.0.11:
هذا المأزق اطلاق عدة البق ويضيف دعما لأوميغا للفهرسة الأشكال MS Office 2007 و ملفات XPS.
ما هو الجديد في الإصدار 1.0.10:
هذا الإصدار بإصلاح حالة محتملة من تلف قاعدة البيانات إذا كان القرص تملأ أثناء كتابة من التغييرات.
يتم إنشاء lockfile لقاعدة بيانات الصوان الآن باستخدام الإعداد umask.
سابقا، لم يكن من الممكن لفتح قاعدة بيانات الصوان لالتحديث إذا كانت مملوكة من قبل مستخدم آخر، حتى مع أذونات كافية عن طريق ومثل، مجموعة ومثل. أو & مثل؛ وغيرها ومثل ؛.
تأليف استعلام OP_NEAR مع اثنين من الاستعلامات الفرعية غير الأجل يلقي الآن UnimplementedError بدلا من AssertionError.
ما هو الجديد في الإصدار 1.0.9:
تصحيح إملائي هو الآن أسرع. (تم قياس سرعة 15٪ لتصل).
وقد تم إصلاح الخلل الناجم عن اثنين من الدقة الزائدة على لينكس إلى x86.
MatchAll الاستعلام :: يعطي الآن أوزان متساوية لجميع الوثائق.
تم إصلاح عطل في حين ضغط الجدول الإملائي.
على سبيل المثال copydatabase الآن نسخ البيانات الوصفية المستخدم أيضا.
وCGI ثنائي أوميغا أدرك الآن والأمراض المنقولة جنسيا تقارير :: استثناء.
لم يتم العثور على التعليقات