سؤال

أرغب في استخدام ميزة البحث النصية الكاملة لخادم Microsoft SQL.

إذا كان لدي عميل طاولة يشير إلى جداول أخرى مثل المدينة أو البلد أو القسم ، وما إلى ذلك ، فهل من الأفضل إنشاء جدول منفصل من شأنه أن يحمل بيانات غير طبيعية ، والتي ستكون بعد ذلك نصًا كاملًا ، أو من الأفضل إنشاء أ القيمة الوهمية في كل جدول أجنبي (على سبيل المثال مع المفتاح -1) ثم استبدل الفريدة من جدول العميل مع تلك القيم الوهمية المقابلة ، ثم قم بإنشاء طريقة عرض مفهرسة (هذه الإدخالات الوهمية هي بسبب العرض المفهرس واستخدام "داخلي" انضم إلى "بدلاً من" Left Join ") ثم قم بإنشاء فهرس نص كامل على طريقة عرض الفهرس؟

مع هذا الأخير ، لن يكون لدي ما يدعو للقلق بشأن ملء الجدول "غير الطبيعي" في كل مرة يتغير فيها سجل في العميل ، أو في أي من الجداول الأجنبية - المدينة ، البلد ، القسم ، إلخ.

أو ربما لا شيء مما سبق ، يمكنني استخدام بعض الأفكار الجديدة أيضًا :)

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

المحلول

لا شيء مما بالأعلى.

احتفظ بالبيانات تطبيع وإنشاء فهارس FT منفصلة على كل جدول طبيعي. عند الاستعلام عن البيانات ، استعد الجدول ذي الصلة. إذا كنت تريد استعلامًا لتمتد جداول متعددة (على سبيل المثال ، إذا كانت المدينة أو البلد أو القسم تحتوي UNION المشغلين لتجميع عمليات البحث عبر جداول متعددة. هذه هي الطريقة التي تعمل بها FT ، لذلك حافظ على تصميمك متوافقًا مع الطريقة التي تعمل بها الميزة. لا تحاول الغش ، فأنت فقط ستحرق نفسك.

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