سؤال

لقد كان هذا على المدى البعيد المشكلة في عدم فهم تماما كيفية تنفيذ الكريم لوسين فرز أو ترتيب.أقول لدي قائمة من المدن وسكانها.إذا كان شخص ما يبحث "جديدة" أو "لندن" أريد قائمة مباريات البادئة أمر من قبل السكان ، يجب أن تعمل مع بادئة البحث و الفرز حسب حقل عكسه ، حيث هناك مجال السكان ، أي نيو مكسيكو ، نيويورك ؛ أو لندن ، لندنديري.

ومع ذلك أنا أيضا دائما تريد بالضبط مطابقة الاسم في الأعلى.حتى في حالة "لندن" قائمة يجب أن تظهر "london, لندن, لندنديري" حيث أول لندن في المملكة المتحدة لندن الثاني في كونيتيكت, حتى لو ديري أعلى السكان من لندن CT.

هل من أحد لديه استعلام واحد الحل ؟

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

المحلول

dlamblin ، اسمحوا لي أن نرى إذا كنت تحصل على هذا بشكل صحيح:كنت تريد أن تجعل بادئة يستند إلى الاستعلام ثم فرز النتائج حسب عدد السكان, و ربما الجمع بين ترتيب مع تفضيل الدقيق المباريات.أقترح عليك منفصلة البحث من نوع واستخدام CustomSorter الفرز:هنا بلوق دخول واصفا مخصص فراز. الكلاسيكية لوسين الكتاب يصف هذا جيدا.

نصائح أخرى

API

Sortcomparator

يقول

هناك متميزة مقارنة فريد لكل مصطلح في الميدان - إذا بعض الوثائق نفس المصطلح في ميدان, ذاكرة التخزين المؤقت مجموعة سوف يكون الإدخالات التي تشير إلى نفس للمقارنة

يمكنك تطبيق

FieldSortedHitQueue

إلى sortcomparator التي للمقارنة الميدانية التي api يقول ...

متجر للمقارنة المقابلة كل حقل يتم فرزها من قبل.

وبالتالي مصطلح يمكن فرزها وفقا لذلك

بلدي الحل الحالي هو خلق صورة طبق الباحث و بادئة الباحث ، كل حسب عكس السكان ، ثم نسخ كل يضرب بدءا من الدقيقة يضرب, الانتقال إلى البادئة يضرب.يجعل ترحيل النتائج قليلا مزعج أكثر من أعتقد أنه يجب أن يكون.

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

تحرير:انتقل الى تعليق (منذ ميزة موجود الآن): يوفال F شكرا لك على بلوق وظيفة الخاص بك ...كيف سيكون نوع المقارنة أعرف أن اسم الحقل "لندن" بالضبط تطابق عبارة البحث "لندن" إذا كان لا يمكن الوصول إلى البحث في المصطلح ؟

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