سؤال

أقوم بإنشاء صفحة بحث حيث يمكننا العثور على المنتج عن طريق إدخال النص.

على سبيل المثال: يجلب الليل.

استعلامي تجلب السجلات التي تحتوي على كلمة على الأقل من هذا.

الاحتياجات: 1. يجب أن يحتوي الصف الأول على السجل مع الجملة المحددة. 2. الصف الثاني التالي أكثر المطابقة. 3. الصف الثالث المطابقة التالية ... إلخ

كيفية تحقيق ذلك. هل هناك أي خوارزمية لهذا الغرض. سيكون أكثر فائدة إذا شارك أي شخص فكرتك.

تعديل:

عينة ترتيب البحث:

1. Brings on the night
2. Whoever Brings the Night
3. Night Baseball Brings
4. Night ride
5. Night Round
6. Brings flower

جيثا

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

المحلول

هل حاولت البحث عن النص الكامل؟http://msdn.microsoft.com/en-us/library/ms142583.aspx

نصائح أخرى

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

كحل بسيط حقًا ، يمكنك استخدام مشغل SQL. بدلاً من

حدد object_name من table_name حيث المعلمة = شيء ما

كنت ستفعل

حدد object_name من table_name حيث المعلمة مثل شيء ما

قد يعمل هذا لسيناريوهات بسيطة للغاية

بعض المؤشرات
- جرب RDBMS بحثًا عن النص الكامل أو التحقيق في حلول مثل Lucene/سولر
- هناك تطبيقات المسافة (Levenshtein) في SQL, ، ليس لترتيب اليد التافهة
- n-grams (bigrams ، trigrams) يمكن أن تفعل الكثير ، انظر على سبيل المثال جميع الخيارات في postgres البحث الداخلي مقارنة بـ MySQL أو MSSQL

عادةً ما يكون لعمليات البحث عن RDBMS (قد تكون Postgres استثناء) خيارات قليلة جدًا ، عادةً ما يكون تنفيذها صعبًا جدًا أو أن RDBMS لن يسمح لك بذلك (بكفاءة).

في جافا لديك لوكين

يوجد أيضًا منفذ له في PHP (Zend Lucene).

لديك أيضًا منفذ إلى C# لوكين .net

فقط عن طريق تغيير نماذج DB الخاصة بك ، يمكنك دمجها في محرك البحث.

الق نظرة. لقد استخدمت لوكين في الماضي وكانت دائمًا فعالة وفعالة للغاية.

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