זהו אינדקס הפקודות שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
indexer - מחולל אינדקס מלא של Sphinxsearch
תַקצִיר
מַפתְחָן [--config CONFIGFILE] [--סיבוב] [--לא התקדמות | --שקט] [--הכל | מדד | ...]
מַפתְחָן --עצירות בנייה קובץ פלט COUNT [--config CONFIGFILE] [--לא התקדמות | --שֶׁקֶט]
[--הכל | מדד | ...]
מַפתְחָן --לְמַזֵג MAIN_INDEX DELTA_INDEX [--config CONFIGFILE] [--סיבוב] [--לא התקדמות |
--שֶׁקֶט]
תיאור
Sphinx הוא אוסף של תוכניות שמטרתן לספק חיפוש טקסט מלא באיכות גבוהה.
מַפתְחָן הוא הראשון מבין שני הכלים העקרוניים כחלק מספינקס. מופעל מאחד מה-
שורת הפקודה ישירות, או כחלק מסקריפט גדול יותר, מַפתְחָן הוא האחראי הבלעדי
איסוף הנתונים שיהיה ניתן לחיפוש.
התחביר הקורא לאינדקס הוא כדלקמן:
$ indexer [אפשרויות] [indexname1 [indexname2 [...]]]
בעיקרון היית מפרט את האינדקסים האפשריים השונים (שתעשה מאוחר יותר
זמין לחיפוש) ב-sphinx.conf, אז כשמתקשרים מַפתְחָן, לפחות אתה צריך להיות
אומר לו איזה אינדקס (או אינדקסים) אתה רוצה לאינדקס.
אם sphinx.conf הכיל פרטים על 2 אינדקסים, mybigindex ו mysmalindex, אתה יכול לעשות
הבא:
$ indexer mybigindex
$ indexer mysmallindex mybigindex
כחלק מקובץ התצורה, sphinx.conf, אתה מציין אינדקס אחד או יותר עבורך
נתונים. אולי תתקשר מַפתְחָן לאינדקס מחדש אחד מהם, אד-הוק, או שאתה יכול להגיד לו לעבד
כל האינדקסים - אתה לא מוגבל להתקשר רק אחד, או כולם בבת אחת, אתה תמיד יכול לבחור
שילוב כלשהו של האינדקסים הזמינים.
אפשרויות
רוב האפשרויות עבור מַפתְחָן ניתנים בקובץ התצורה, אולם שם
הן כמה אפשרויות שאולי תצטרך לציין גם בשורת הפקודה, מכיוון שהן יכולות להשפיע
כיצד מתבצעת פעולת האינדקס. אפשרויות אלו הן:
--את כל
אומר מַפתְחָן לעדכן כל אינדקס הרשום ב-sphinx.conf, במקום רישום
אינדקסים בודדים. זה יהיה שימושי בתצורות קטנות, או מסוג cron או
עבודות תחזוקה שבהן כל סט האינדקס ייבנה מחדש בכל יום, או שבוע, או
בכל תקופה שהיא הטובה ביותר.
שימוש לדוגמא:
$ indexer --config /home/myuser/sphinx.conf --all
--עצירות בנייה outfile.txt NUM
סוקר את מקור האינדקס, כאילו הוא מוסיף את הנתונים, ומפיק רשימה של ה
מונחים שנמצאים באינדקס. במילים אחרות, הוא מייצר רשימה של כל האפשרויות לחיפוש
מונחים שהופכים לחלק מהמדד. הערה; זה לא מעדכן את האינדקס ב
שאלה, זה פשוט מעבד את הנתונים 'כאילו' הם יוצרו אינדקס, כולל ריצה
שאילתות המוגדרות עם sql_query_pre or sql_query_post. outputfile.txt יכיל את
רשימת מילים, אחת בכל שורה, ממוינת לפי תדירות עם התדירות הראשונה, ו NUM
מציין את המספר המרבי של מילים שיוצגו; אם מספיק גדול כדי
להקיף כל מילה באינדקס, רק שמילים רבות יוחזרו. כמו
ניתן להשתמש ברשימת המילונים עבור תכונות יישומי לקוח סביב "האם התכוונת ל..."
פונקציונליות, בדרך כלל בשילוב עם --תדרים לבנות, להלן.
דוגמא:
$ indexer myindex --buildstops word_freq.txt 1000
זה ייצור מסמך בספרייה הנוכחית, word_freq.txt עם ה-1,000
המילים הנפוצות ביותר ב-'myindex', מסודרות לפי הנפוצות ביותר תחילה. שימו לב שהקובץ יעשה זאת
שייכים לאינדקס האחרון שנוסף לאינדקס כאשר צוין עם מספר אינדקסים או --את כל (כלומר
האחרון הרשום בקובץ התצורה)
--תדרים לבנות
משמש בזוג עם --עצירות בנייה (ומתעלמים ממנו אם --עצירות בנייה לא מצוין). כפי ש
--עצירות בנייה מספק את רשימת המילים המשמשות באינדקס, --תדרים לבנות מוסיף
כמות הקיימת במדד, שתהיה שימושית בקביעת האם בטוחה
מילים צריכות להיחשב כמילות עצירה אם הן נפוצות מדי. זה גם יעזור עם
פיתוח תכונות "האם התכוונת ל..." שבהן תוכל לדעת כמה מילה נתונה נפוצה יותר
לעומת אחר, דומה.
דוגמא:
$ indexer myindex --buildstops word_freq.txt 1000 --buildfreqs
זה ייצור את ה-word_freq.txt כמו לעיל, אולם לאחר כל מילה יהיה ה-
מספר הפעמים שזה התרחש באינדקס המדובר.
--config הגדר, -c CONFIGFILE
השתמש בקובץ הנתון כתצורה. בדרך כלל, הוא יחפש sphinx.conf ב-
ספריית התקנה (למשל/usr/local/sphinx/etc/sphinx.conf אם מותקן ב-
/usr/local/sphinx), ואחריו הספרייה הנוכחית שבה אתה נמצא בעת קריאה לאינדקס
מהקליפה. זה משמש בעיקר בסביבות משותפות שבהן הקבצים הבינאריים נמצאים
מותקן במקום כמו /usr/local/sphinx/ אבל אתה רוצה לספק למשתמשים את
היכולת ליצור הגדרות ספינקס מותאמות אישית משלהם, או אם ברצונך להריץ מספר
מופעים בשרת בודד. במקרים כמו אלה אתה יכול לאפשר להם ליצור את שלהם
הבעלים של קבצי sphinx.conf והעביר אותם אל מַפתְחָן עם אפשרות זו.
לדוגמה:
$ indexer --config /home/myuser/sphinx.conf myindex
--שורות dump קובץ
דומפ שורות שנאספו על ידי מקורות SQL לקובץ שצוין, ב-MySQL תואם
תחביר. השלכות המתקבלות הן הייצוג המדויק של הנתונים כפי שהתקבלו על ידי המדד
ולעזור לחזור על בעיות בזמן האינדקס.
--לְמַזֵג DST-INDEX SRC-INDEX
מיזוג פיזית שני אינדקסים. לדוגמה, אם יש לך סכימה ראשית+דלתא,
שבו המדד הראשי משתנה לעתים רחוקות, אבל מדד הדלתא נבנה מחדש לעתים קרובות, ו
--לְמַזֵג ישמש לשילוב בין השניים. הפעולה נעה מימין לשמאל - ה
תכנים של SRC-INDEX להיבדק ולשלב פיזית עם התוכן של
DST-INDEX והתוצאה נשארת בפנים DST-INDEX. בפסאודו-קוד, זה עשוי להתבטא
כמו: DST-INDEX += SRC-INDEX
דוגמה:
$ indexer --merge main delta --rotate
בדוגמה שלמעלה, כאשר העיקרי הוא המאסטר, אינדקס שונה לעתים רחוקות, ודלתא
הוא השינוי בתדירות נמוכה יותר, תוכל להשתמש ברשימה למעלה כדי להתקשר מַפתְחָן ל
לשלב את תוכן הדלתא לאינדקס הראשי ולסובב את האינדקסים.
--merge-dst-range ATTR MIN מקס
הפעל את טווח הסינון שניתן בעת המיזוג. באופן ספציפי, כאשר המיזוג מוחל על
אינדקס יעד (כחלק מ --לְמַזֵג, ומתעלמים ממנו אם --לְמַזֵג לא מצוין),
מַפתְחָן יסנן גם את המסמכים המסתיימים באינדקס היעד, ורק
מסמכים יעברו דרך המסנן שניתן יגיעו לאינדקס הסופי. זֶה
יכול לשמש לדוגמה, באינדקס שבו יש תכונה 'מחק', כאשר 0
פירושו 'לא נמחק'. ניתן למזג אינדקס כזה עם:
$ indexer --merge main delta --merge-dst-range נמחק 0 0
כל המסמכים שסומנו כמחוקים (ערך 1) יוסרו מהמסמך הממוזג החדש
אינדקס יעד. ניתן להוסיף אותו מספר פעמים לשורת הפקודה, כדי להוסיף
מסננים עוקבים למיזוג, שכולם חייבים להתקיים כדי שמסמך יצליח
להפוך לחלק מהמדד הסופי.
--מיזוג-רשימת רשימות, --מיזוג קליסטים
משמש בזוג עם --לְמַזֵג. בדרך כלל בעת מיזוג מַפתְחָן משתמש ב-kill-list של אינדקס המקור
(כלומר, זה שאליו מוזג) בתור המסנן שממנו יש למחוק את המסמכים התואמים
אינדקס היעד. יחד עם זאת, רשימת ההרוגים של היעד עצמו לא
נגע בכלל. כשמשתמש --מיזוג-רשימת רשימות, (או בצורה קצרה יותר --מיזוג קליסטים) ה
מַפתְחָן לא יסנן את ה-dst-index docs עם src-index killlist, אבל הוא יתמזג
רשימות ההרוגים שלהם יחד, כך שלמדד התוצאה הסופית תהיה רשימת ההרוגים
המכיל את רשימות ההרג של המקור הממוזגות.
--אין התקדמות
אל תציג פרטי התקדמות בזמן שהם מתרחשים; במקום זאת, פרטי המצב הסופי (כגון
כמו מסמכים שנוספו לאינדקס, מהירות הוספה לאינדקס וכן הלאה מדווחים רק בסיום
אינדקס. במקרים שבהם הסקריפט אינו מופעל על קונסולה (או 'tty'), זה
יהיה מופעל כברירת מחדל.
שימוש לדוגמא:
$ indexer --rotate --all --noprogress
--שאילתות הדפסה
מדפיס שאילתות SQL שהאינדקס שולח למסד הנתונים, יחד עם חיבור SQL
ואירועי ניתוק. זה שימושי כדי לאבחן ולתקן בעיות עם SQL
מקורות.
--שֶׁקֶט
אומר מַפתְחָן לא להוציא שום דבר, אלא אם כן יש שגיאה. שוב, רוב המשמשים עבור
משימות סקריפט מסוג cron או אחרות שבהן הפלט לא רלוונטי או מיותר, למעט
במקרה של טעות כלשהי.
שימוש לדוגמא:
$ indexer --סובב --הכל --שקט
--להתחלף
משמש לסיבוב אינדקסים. אלא אם יש לך את המצב שבו אתה יכול לבצע את החיפוש
תפקוד במצב לא מקוון מבלי להטריד משתמשים, כמעט בוודאות תצטרך לשמור
חיפוש פועל תוך הוספת מסמכים חדשים לאינדקס. --להתחלף יוצר אינדקס שני,
במקביל לראשון (באותו מקום, פשוט כולל .new בשמות הקבצים).
לאחר השלמת, מַפתְחָן מודיעים אותך חיפוש באמצעות שליחת ה הרשמה אות, ו חיפוש
ינסה לשנות את שמות האינדקסים (שם הקיימים לכלול .old ו
שינוי שם ה-.new כדי להחליף אותם), ולאחר מכן התחל להגיש מהקבצים החדשים יותר.
תלוי בהגדרה של סיבוב_ללא תפר, ייתכן שיהיה עיכוב קל ביכולת
כדי לחפש באינדקסים החדשים יותר.
שימוש לדוגמא:
$ indexer --rotate --all
--נאנח-כל אחד
שימושי כאשר אתה בונה מחדש אינדקסים גדולים רבים, ורוצה שכל אחד מהם יתחלף
חיפוש בְּהֶקְדֵם הַאֶפְשַׁרִי. עם --נאנח-כל אחד, מַפתְחָן ישלח א הרשמה אות ל
חיפוש לאחר השלמת העבודה על כל אינדקס בהצלחה. (התנהגות ברירת המחדל היא
לשלוח סינגל הרשמה לאחר שנבנו כל האינדקסים.)
--מִלוּלִי
מבטיח שכל שורה שגרמה לבעיות באינדקס (כפול, אפס או חסר
מזהה מסמך; או בעיות IO בשדה הקובץ; וכו') ידווחו. כברירת מחדל, אפשרות זו
כבוי, וייתכן כי במקום זאת ידווחו סיכומי בעיות.
השתמש באינדקס מקוון באמצעות שירותי onworks.net