-
אני בונה רשימה של עסקים, עם כל הפרטים, כמו כתובת, וכו',
ואני צריך לעשות חיפוש טקסט חופשי במסד.זה צריך להיות חיפוש חופשי לחלוטין.
איך כותבים מנוע חיפוש "חכם", שלוקח בחשבון מילים חסרות, ומביא את התוצאה הקרובה ביותר?
למשל, החיפוש "נעלי שמעיה ביתר", לא יביא את התגובה "נעלי שמעיה, רחוב החוזה מלובלין 18 ביתר עילית". חיפוש פשוט בSQL, לא ייתן את התוצאה.
וגם, לפעמים בתוצאה הכי קרובה, חסרים מילים מהחיפוש.
כמו בדוגמא הנ"ל, לפעמים יהיה במסד "נעלי שמעיה, החוזה מלובלין". וצריך לתת את התוצאה הכי קרובה, למרות שחסרות מילים.
אז איך כותבים מנוע חיפוש?אשמח לכל מידע או הפנייה בנושא.
אגב, ElsticSearch, כן יודע לעשות חיפוש חכם?
-
@chagold אמר באיך בונים מנוע חיפוש:
https://stackoverflow.com/questions/4638671/search-engine-lucene-vs-database-search
https://lucene.apache.org/
https://stackoverflow.com/questions/737275/comparison-of-full-text-search-engine-lucene-sphinx-postgresql-mysqlתודה.
אז אני מבין, שאתה ממליץ על לוסין, ולא על שאילתא בSQL.
איפה יש מדריך ללוסין (והאם עדיף אלסטיק? הבנתי שמבוסס על לוסין)?
ובכלל אשמח להסבר ראשוני על ג'אווה, איך מתקינים.
-
@MusiCode לפני שאתה רץ להתקין טכנולוגיות חדשות, תבדוק קודם את החיפוש טקסט מלא המובנה ב mysql, זה יכול בהחלט לענות על הצרכים שלך ולחסוך לך להתמודד עם כלים נוספים
https://www.w3resource.com/mysql/mysql-full-text-search-functions.php -
בס"ד
למה לא לעשות לולאה שמפצלת את המילים,
ולהכניס בין מילה למילה ולפני המשפט ואחרי המשפט %
דוגמא: '%נעלי%שמעיה%ביתר%'
בתוך הפונקצייה של like המובנת בmySql
וכמובן לחפש במשתנה הכולל את כל השדות, כגון: name & ' ' & address & ' ' & city וכן הלאה וכדו'.זה מידי פרימיטיבי?
-