سؤال

ونحن على خلق مفتوح المصدر العميل تويتر و تبحث عن جزءا لا يتجزأ من DB مع أصغر البصمة ممكن التي تعمل مع دلفي و أن يفسح المجال بشكل جيد البحث النص الكامل (وأنا أعلم أن لا يذهب مع بصمة صغيرة جدا).من الناحية المثالية يجب أن تكون مجانية أو مفتوحة المصدر أيضا (تطلبا أعلم).

أنا يميل نحو سكليتي, ولكن أنا لم تستخدم من قبل و لا أعرف إذا كان يدعم البحث عن النص الكامل ، أو كيف أنها تعمل بشكل جيد مع دلفي.لقد استعملت DBISAM قبل مضمن مع البحث عن النص الكامل ، ولكن ليس مجانا. فايربيرد هو خيار آخر يجب النظر فيه.

قد يكون هناك مزيج من أن يجعل هذا العمل.ماذا كنت تستخدم وكيف معدل 1) البصمة 2) النص الكامل البحث ، 3) الحرة/مفتوحة المصدر.

تحديث: شكرا للجميع اقتراحاتكم.العديد من الخيارات للاختيار من بينها.

هل كانت مفيدة؟

المحلول

لقد كان الكثير من النجاح باستخدام DiSQLite.وقد FTS الدعم طن من الميزات الأخرى.لديهم نسخة مجانية و نسخة المهنية.أعتقد أن النسخة المجانية لا FTS كذلك.لقد حاولت العديد من سكليتي تطبيقات دلفي و هذا هو أفضل واحد لقد رأيت.ويجمع مباشرة إلى التطبيق الخاص بك لذلك لا توجد الخارجية DLLs.

لقد بحثت في الكثير من الحرة المكتبات هناك جزءا لا يتجزأ من قواعد البيانات في دلفي و العديد من غير معتمدة بعد الآن أبدا عنه أو تعمل فقط في Delphi5.

نصائح أخرى

Sybase ميزة خادم قاعدة البيانات وقد الاتاوات الحرة الخادم المحلي المحرك (متعددة الخيوط و سجل مستوى تأمين) ، عظيم دلفي TDataSet سليل مكونات (شفرة المصدر وشملت) ، النص الكامل محرك البحث.

ميزة البحث عن النص الكامل يدعم أو لا ، بالقرب من المشغلين.ميزة أيضا يوفر درجة SCOREDISTINCT الدالات العددية التي تعود إجمالي عدد جميع الحالات الكلمات في حالة البحث.

ميزة النص الكامل الفهارس الحفاظ على سجل تحديث الوقت مما يعني أنها لا تتطلب أي بناء.والفهارس في شكل مضغوط;ولذلك الفعلية مؤشر حجم يمكن أن يكون أصغر بكثير من البيانات الفعلية.فمن الممكن أن تؤدي النص الكامل البحث على غير المفهرسة البيانات ، ولكن هذا يتطلب بحثا جسديا من تسجيل البيانات و يمكن أن يكون أبطأ بكثير.فهرسة البحث استخدام الصورة النقطية المرشحات للحصول على الأداء الأمثل.

المساعدة عبر الإنترنت يحتوي على جميع التفاصيل بقدر خيارات الفهرسة.... الخ:

http://tinyurl.com/ctjoqg

أنا أعرف فايربيرد لديه أبو الهول إضافة على النص الكامل البحث (على الرغم من أن وفقا هناك موقع 'أكثر من "النص الكامل البحث"' ), الحرة/ مفتوحة المصدر ولكن أنا غير قادر على العثور على أي معلومات القول ما اذا كان يعمل مع النسخة جزءا لا يتجزأ من فايربيرد.

ل فايربيرد البحث عن النص الكامل أنظر: http://www.firebirdfaq.org/faq328/

ليوناردو.

لقد متكاملة DotLucene في واحدة من لدينا الداخلية دلفي-بناء تطبيقات باستخدام الهيدرا (مايك لم يعمل على أن يعود بعدها);إذا كان هذا هو خيار نريد أن السعي هنا ، أنا متأكد من أننا يمكن استخراج ذلك وجعلها قابلة لإعادة الاستخدام لهذا المشروع

المضي قدما سكليتي.هناك الكثير من سكليتي مكونات دلفي.بعض منهم قد توقفت عن أن تكون نشطة المشاريع.ولكن عنصر واحد من المذكرة ZeosDB.ZeosDB بنشاط المحافظة و sqlite دعم مثالية أيضا.في حال كنت بحاجة أخرى DB دعم محرك ZeosDB هو الجواب مرة أخرى (وهو يدعم MySQL, PostgreSQL, ينترباسي ، فايربيرد, MS SQL, Sybase, Oracle و SQLite).

NexusDB لديه مجانا جزءا لا يتجزأ من النسخة و بالطبع هو من مواليد دلفي المنتج.

وهنا وصف الأمر البحث عن النص الكامل التنفيذ.

أود أن اقترح أن DBISAM ، أو ربما الجديدة ElevateDB ، يجب أن يكون بقوة النظر.من تجربتك السابقة أتوقع تعرف لا تضيف كثيرا من حجم القابلة للتنفيذ الخاص بك هو سريع إلى حد معقول, يمكن الاعتماد عليها, الكمال دلفي على أساس حل ، وقد دعم ممتاز.على مدى السنوات SQL اللهجة تم صقلها حتى الآن لطيفة جدا مع درجة عالية من ANSI SQL-2003 الامتثال.

DBISAM/ElevateDB كما يمكنك ملاحظة ليس مفتوح المصدر ، ولكن الترخيص التكلفة لكل المطور فقط (وليس في النشر) حتى إذا كان هناك فقط عدد قليل من المطورين المشاركين التكلفة هي (في رأيي) لا تذكر.الترخيص التكلفة هو معقول خصوصا عندما كنت تنظر مستوى الدعم والاستجابة تحصل على DBISAM/Elevatesoft الأخبار ، حيث الرئيسية المطور/مالك (تيم الشباب) بنشاط الإجابة على الأسئلة وحل المشاكل.جانبا من تكلفة الملكية الحل ، بالطبع هناك أيضا قلق حول ما إذا كان العمل سوف البقاء على قيد الحياة و المنتج يستمر تطويره ودعمه في المستقبل.هذا شيء يجب أن تزن نفسك ، ولكن يبدو تنمية قوية كما كانت دائما.لقد حصلت .صافي مقدمي بهم db, ودعم التنمية عبر منصة مع FreePascal/لعازر.

واحد زائد DBISAM هو fulltext البحث هو أن تتكامل في SQL.التي يمكنك أن المسألة عبارة حدد مباشرة بين العاديين حيث المعايير على بعض الحقول مع fulltext معايير البحث على الآخرين.اعتمادا على الاحتياجات الخاصة بك, هذه هي ميزة لطيفة أن يجعل حقا بسيطة وسريعة للقيام ببعض الأشياء التي من شأنها أن تأخذ المزيد من العمل باستخدام مختلف fulltext الحل.أعتقد أن معظم إضافة على حلول مثل لوسين و غيرها من الجهات التي يمكن استخدامها مع فايربيرد, لا تتكامل بشكل وثيق مع العادية SQL وتقييد لك استرداد مجموعة سجلات مع fulltext معايير فقط.شيء مثل Textolution الملكية إضافة فايربيرد (http://www.textolution.com/ftsib_example.asp) يبدو أنها يمكن أن تستوعب بناء مجمع واحد (متداخلة) الاستعلام تنطبق سواء العادية fulltext المعايير ، ولكن DBISAM لا أكثر أناقة.وإضافة الملكية الإضافة مفتوحة المصدر db النوع من الهزائم الغرض من الذهاب مفتوحة المصدر, على أي حال.

عيب واحد من DBISAM/ElevateDB هو fulltext البحث ، كما أعتقد ، أن يدعم فقط استخدام 'و' و 'أو' ظروف لا يملك أي القرب البحث.

لاحظت أن هناك fulltext حل سكليتي ، http://www.sqlite.org/cvstrac/wiki?p=FullTextIndex.أنا لم تستخدم أي وقت مضى سكليتي, ولكن أنا أعرف الكثير من الناس يحبون ذلك.منطقة واحدة حيث أنا متأكد DBISAM/Elevatesoft لديه ميزة كبيرة في متعدد المستخدمين التطبيقات حيث قوة تأمين وظائف مطلوب ، على الرغم من أن ليس بالضرورة تحمل أي وزن في كل واحد مستخدم التطبيق سطح المكتب.

وأود أن تذهب مع Sqlite باستخدام Aducom سكليتي مكونات فهي سهلة للعمل مع sqlite من DiSQLite مجانا و العمل TDataset مكونات, وأود أن التصويت عن سكليتي لأن:

  1. انها سريعة جدا و ضغط قاعدة البيانات.
  2. حجم صغير جدا فقط حول 200kb Dll.
  3. أنها يمكن أن تكون مرتبطة ثابت عند استخدامها مع Aducom مكونات لذلك لا يحتاج لتوزيع dll.
  4. وقد بنيت في دعم البحث عن النص الكامل.
  5. انها تستخدم على نطاق واسع وتستخدم في العديد من الحرة التطبيقات التجارية مثل التخزين الخارجية.
  6. قد أكثر من SQL القياسية ، لذلك معظم معلوماتك في sql سيتم استخدامها.

سكليتي حد كبير مستخدم واحد/اتصال واحد فقط.تحديث أقفال قاعدة البيانات بأكملها.يمكنك التعامل مع هذا عن طريق تعيين قيمة مهلة الاتصالات الأخرى إلى الانتظار (الافتراضي هو لا مهلة).متعدد المستخدمين الوصول يمكن أن تصبح بطيئة جدا و/أو إعطاء متكررة مهلة اعتمادا على ما هي القيمة التي تستخدمها.

لقد استخدمت Asqlite المكونات من http://www.aducom.com/.الحرة والمفتوحة المصدر.لا تدعم حاليا d2009 يبدو ، وإنما هو قيد التطوير.وهناك عدد من المكونات الأخرى مجموعات كذلك ولكن أنا لم تستخدم أي دولة أخرى.

يمكنك إضافة النص الكامل البحث إلى أي دلفي التطبيق باستخدام روبيكون (الآن تحت إدارة جديدة في http://www.href.com/rubicon).ولكن هذا ليس مجاني :(

لماذا كنت في حاجة الى البحث عن النص الكامل لهذا ؟ انا لا استخدم تويتر ، bu أعتقد رسائل تويتر 140 حرفا كحد أقصى ؟ هذه من شأنها أن تناسب في varchar المجال.أنت لا تحتاج إلى البحث عن النص الكامل للعثور على شيء في هذا المجال.

هناك أيضا DotLucene التي لا تتطلب .NET framework المثبتة ولكن يمكن تحميلها بسهولة من خلال .صافي com واجهات برمجة التطبيقات.انها مثالية البحث و الاستعلام تنسيق مشتركة بين معظم محركات البحث.

لدي شبه العامل دلفي الحل هنا: http://sourceforge.net/projects/mutis/, منفذ إلى دلفي من لوسين.

على mayority من أنها تعمل بشكل جيد ، ولكن unfortunally كان مقرها في الموت Delphi.NET تنفيذ حتى requiere العمل على تحديث أصلي واحد (نعم ، كان خطأ كبيرا تأخذ .صافي الطريق :( )

DBISAM طول الطريق.يعمل صلبة جدا, جزءا لا يتجزأ من, فهرسة نص كامل يعمل كبيرة (تجربة شخصية واسعة!)

ElevateDB هو مشكلة كبيرة أيضا, ولكن ليس لدي أي خبرة مباشرة معها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top