خادم HTTP/SCGI Search Search الكامل قليل جدًا.

أعلاه و
tools/dir2jsonlعلى Debian و Ubuntu الأخيرة تثبيت التبعيات مع
sudo apt install libsqlite3-tcl make sqlite3 tcl tcllib tdomعلى FreeBSD مع Sudo تثبيت التبعيات مع
sudo pkg install sqlite3 tcl-sqlite3 tcl86 tcllib tdom
cd /usr/local/bin
sudo ln -s tclsh8.6 tclsh Usage:
tinyfts --db-file path [option ...] [wapp-arg ...]
Options:
--css-file ''
--credits <HTML>
--header <HTML>
--footer <HTML>
--title tinyfts
--subtitle <HTML>
--table tinyfts
--rate-limit 60
--result-limit 100
--log 'access bad-request error rate'
--behind-reverse-proxy false
--snippet-size 20
--title-weight 1000.0
--query-min-length 2
--query-syntax web
الاستخدام الأساسي هو
tools/import jsonl example.jsonl example.sqlite3
# Local server
./tinyfts --db-file example.sqlite3 --local 8080
# Server available over the network
./tinyfts --db-file example.sqlite3 --server 8080يشبه بناء جملة استعلام البحث الكامل للنص في Tinyfts محرك بحث الويب. يمكنه التعامل مع الأنواع التالية من التعبيرات.
foo - ابحث عن كلمة foo ."foo bar" - ابحث عن عبارة foo bar .foo AND bar ، foo OR bar ، NOT foo - ابحث عن كل من foo and bar ، على الأقل من foo and bar ، والمستندات دون foo على التوالي. foo AND bar متطابقة مع foo bar . المشغلين AND ، OR NOT يجب أن يكونوا في جميع القبعات.-foo ، -"foo bar" -نفس NOT foo ، NOT "foo bar" . يمكنك السماح للمستخدمين بكتابة استعلامات FTS5 كاملة مع خيار سطر الأوامر- --query-syntax fts5 . استفسارات FTS5 أكثر قوة ولكنها تعرض التفاصيل الفنية لقاعدة البيانات الأساسية. (على سبيل المثال ، أسماء الأعمدة.) سيجدون المستخدمون الذين لا يعرفون بناء جملة FTS5 مفاجأة ويواجهون أخطاء لأنهم لم يقتبسوا كلمة لها معنى خاص.
يبحث Tinyfts في محتويات جدول قاعدة بيانات SQLite مع مخطط معين. يمكن tools/import المجمعة استيراد البيانات المسلسل (الملفات النصية التي تحتوي على كائن JSON أو قاموس TCL لكل سطر) وصفحات Wiki من قاعدة بيانات Wikit/Nikit إلى قاعدة بيانات Tinyfts.
يوضح هذا المثال كيفية إعداد البحث عن نسخة احتياطية من ويكي Tcler. يجب أن تعمل الإرشادات على معظم توزيعات Linux و FreeBSD مع التبعيات وتثبيت GIT.
1. انتقل إلى https://sourceforge.net/project/showfiles.php؟group_id=211498. قم بتنزيل واستخراج آخر لقطة قاعدة بيانات wikit من wiki tcler. حاليا هذا هو wikit-20141112.zip . دعنا نفترض أنك استخرجت ملف قاعدة البيانات إلى ~/Downloads/wikit.tkd .
2. تنزيل وبناء واختبار Tinyfts. في هذا المثال ، نستخدم GIT للحصول على أحدث إصدار تطوير.
git clone https://github.com/dbohdan/tinyfts
cd tinyfts
make3. قم بإنشاء قاعدة بيانات بحث Tinyfts من قاعدة بيانات Wiki الخاصة بـ Tcler. يتضمن المستودع أداة استيراد تدعم قواعد بيانات Wikit. اعتمادًا على أجهزتك ، قد يستغرق هذا الأمر عدة دقائق مع حجم قاعدة بيانات الإدخال في مئات ميغابايت.
./tools/import wikit ~ /Downloads/wikit.tkd /tmp/fts.sqlite34. ابدأ Tinyfts على http: // localhost: 8080. يجب أن يفتح عنوان URL الخادم تلقائيًا في متصفحك. حاول البحث.
./tinyfts --db-file /tmp/fts.sqlite3 --title ' tinyfts demo ' --local 8080--behind-reverse-proxy true . من الضروري اكتشاف عناوين IP العميل الصحيح ، والذي يعتمد الحد من الأسعار على. لا --behind-reverse-proxy إذا لم يكن Tinyfts وراء وكيل عكسي. سيسمح للعملاء بتسخين عنوان IP الخاص بهم مع رأس X-Real-IP أو X-Forwarded-For the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the there. معهد ماساتشوستس للتكنولوجيا. WAPP هو حقوق الطبع والنشر (C) 2017-2022 D. Richard Hipp ويتم توزيعها بموجب ترخيص BSD المبسط. TACIT هو حقوق الطبع والنشر (C) 2015-2020 Yegor Bugayenko ويتم توزيعها بموجب ترخيص MIT.