SimplesImarity هو إطار سهل الاستخدام للبحث عن النص الدلالي.
أوصي بعدم استخدام هذه المكتبة بعد الآن في iOS 18. ميزاتها متوفرة الآن كخدمة نظام في دائرة الضوء الأساسية. يرجى التحقق من فيديو جلسة WWDC 2024 من Apple "دعم البحث الدلالي مع Core Spotlight".
أولاً عليك إنشاء مجموعة نصية. عندما يتم ملء المجموعة ، يمكنك تشغيل استفسارات ضدها. هذه الطرق هي جزء من فئة MatchingEngine.
يتكون مجموعة النص من عدد (كبير) من هياكل TextualData. هيكل TextualData هو النص بالإضافة إلى بعض البيانات الوصفية. تقوم بإنشاء مثيلات TextualData وتمريرها إلى المحرك المطابق:
let textualData = allFeedItems.map { (feedItem) -> TextualData in
return TextualData(inputString: feedItem.title, origin: nil, originObject: feedItem)
}
matchingEngine.fillMatchingEngine(with: textualData, onlyRemoveFrequentStopwords: true, completion: completion)
كما هو موضح قبل إنشاء مجموعة النص يحدث على موضوع خلفية ، لذلك تحتاج إلى تمرير في كتلة الانتهاء لتكون غير محظور عند الانتهاء من إنشاء مجموعة.
بعد إنشاء المجموعة ، يمكنك الاستعلام عنها. لم يتم تحسين simplesimilarity بالضرورة للاستعلامات القصيرة أو الإدخالات القصيرة في مجموعة النص. يجب أن يحتوي الاستعلام على كلمتين على الأقل. يجب أن تكون الإدخالات في مجموعة النص جمل.
للبحث عن النص ، لديك خيارات متعددة:
try? matchingEngine.result(betterThan: 0.005, for: query, resultsFound: resultsFound)
النتائج هي مرة أخرى كتلة الانتهاء التي تمر في النتائج الموجودة.
لذا ، كما ترون أن واجهة برمجة التطبيقات بسيطة وسهلة الاستخدام حقًا.
يستغرق إنشاء مجموعة نصية مع 15000 مشاركة حوالي 20 ثانية على iPhone 6s.
مساهماتك موضع ترحيب كبير.