pri:lucene
اختلافات
عرض الاختلافات بين النسخة المختارة و النسخة الحالية من الصفحة.
جانبي المراجعة السابقةالمراجعة السابقة | |||
pri:lucene [2009/03/30 00:35] – alsadi | pri:lucene [2015/04/23 03:21] (حالي) – تحرير خارجي 127.0.0.1 | ||
---|---|---|---|
سطر 1: | سطر 1: | ||
+ | ====== ملاحظات على lucene ====== | ||
+ | ===== تلقيم محرك البحث ===== | ||
+ | بالنسبة للجزء الذي يمد lucene بالمستندات | ||
+ | |||
+ | <code groovy> | ||
+ | document = new Document() | ||
+ | document.add(new Field(FIELD_ID, | ||
+ | document.add(new Field(FIELD_DEPTH, | ||
+ | </ | ||
+ | |||
+ | http:// | ||
+ | |||
+ | يجب أن لا نستخدم | ||
+ | الأفضل ANALYZED و NOT_ANALYZED وهو مجرد تغيير اصطلاحي | ||
+ | |||
+ | نستخدم NOT_ANALYZED مع المعرّفات أو عندما نقوم نحن بعمل التقطيع | ||
+ | |||
+ | نستخدم ANALYZED مع الحقول التي نريد أن يتم تجذيعها وتقطيعها وتوحيدها ... | ||
+ | |||
+ | http:// | ||
+ | |||
+ | يجب أن نستعمل Field.Store بقيمة YES مع الحقول التي نريد أن نحفظها حتى تعاد لنا عند البحث مثل معرف الوثيقة واسم الملف وربما عنوان الوثيقة (لتوفير الاستعلام لجلب العنوان) | ||
+ | |||
+ | |||
+ | [[http:// | ||
+ | |||
+ | Term vectors will not be stored in the index. | ||
+ | |||
+ | لذا من الأفضل أن يكون التطبيق | ||
+ | |||
+ | <code groovy> | ||
+ | document = new Document() | ||
+ | document.add(new Field(FIELD_ID, | ||
+ | document.add(new Field(FIELD_FILENAME, | ||
+ | document.add(new Field(FIELD_CONTENT, | ||
+ | </ | ||
+ | التفصيل مذكور في | ||
+ | |||
+ | http:// | ||
+ | |||
+ | ===== بالنسبة للتقطيع والتجذيع ===== | ||
+ | وظيفة المحلل هو التقطيع والتجذيع | ||
+ | < | ||
+ | Typical implementations first build a Tokenizer, which breaks the stream of characters from the Reader into raw Tokens. One or more TokenFilters may then be applied to the output of the Tokenizer. | ||
+ | </ | ||
+ | |||
+ | بالنسبة للجزء | ||
+ | <code groovy> | ||
+ | indexWriter = new IndexWriter(indexDirFile, | ||
+ | </ | ||
+ | |||
+ | فهو يستعمل التحليل القياسي الخاص باللغة الإنجليزية | ||
+ | وكما هو واضح من [[http:// | ||
+ | |||
+ | إن المحلل القياسي ليس أقوى محلل للقة الإنجليزية بل هناك | ||
+ | |||
+ | [[http:// | ||
+ | حيث يقوم بما يلي بعد التقطيع القياسي: | ||
+ | * StandardFilter | ||
+ | * LowerCaseFilter - تحويل كل الحروف إلى صغيرة | ||
+ | * StopFilter - إهمال الكلمات بعض الكلمات الإنجليزية | ||
+ | * SnowballFilter - التجذيع | ||
+ | |||
+ | يجب أن نقوم ببناء محلل خاص بنا مبني من أحدها | ||
+ | |||
+ | http:// | ||
+ | |||
+ | |||
+ | |||
+ | وبالحبث في الكود وجدت محلل للغة العربية | ||
+ | |||
+ | http:// | ||
+ | |||
+ | اكتب | ||
+ | <code bash> | ||
+ | svn co http:// | ||
+ | </ | ||
+ | وهو موثق هنا وهناك كود سي للتجذيع | ||
+ | |||
+ | http:// | ||
+ | |||
+ | وهو طبعا غبي لأنه ظاهر جدا أنه قام بتقطيع صحيفة واعتبر الكلمات المحرردة جدا مهملة مثل غزة واسرائيل | ||
+ | |||
+ | بأي حال | ||
+ | علينا وضع برنامج التحليل والتجذيع الخاص بنا هناك وليس عند تمرير المحتوي عبر document.add | ||
+ | |||
+ | |||
+ | محرك البحث xapian ربما يحتوي معلومات خطا في | ||
+ | |||
+ | http:// | ||
+ | |||
pri/lucene.txt · آخر تعديل: 2015/04/23 03:21 (تحرير خارجي)