הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בעיות עם חיפוש...PHP-MYSQL (https://hosts.co.il/forums/showthread.php?t=32614)

RS324 10-10-06 18:48

בעיות עם חיפוש...PHP-MYSQL
 
אממ לאחרונה נתקלתי בבעיה מאד מוזרה...

אני עושה חיפוש למילה מסויימת בעברית :

לדוגמא ככה :
PHP קוד:

title LIKE '%".$searchword."%' 

בשביל למצוא מילה מסויימת בתוך כתבה לדוגמא....

הבעיה היא שהוא מחזיר תוצאות שגויות לדוגמא...

בחרתי לחפש את המילה "אומן"

הוא מחזיר לי תוצאות עבור מילים כמו "אומר" , "אוכל" וכד'.

שבמחשבה שניה זה נכון התוצאות של החיפוש...כי זה עם % ...

יש רעיונות איך לפתור את הסוגיה ?

שמעתי פעם משהו על חיפוש בינארי, מישהו יודע משהו על זה ?

Balrog 10-10-06 19:28

אני לא מבין למה כשאתה מחפש אומן, הוא מחזיר אבל אומר ואוכל
כשעושים חיפוש בצורה שעשית - זה אמור להחזיר תוצאות שמכילות את כל המילה שחיפשת, ושיש אפשרות שמשני הצדדים יהיה כל דבר.

זה נשמע לי כמו באג עם עברית, יכול להיות שכדאי לנסות לחפש בגוגל אנשים שמתלוננים על בעיות דומות.

RS324 10-10-06 19:30

כן גם אני לא בדיוק מבין...
העיניין הוא שאני מוגבל בזמן....

מצאתי משהו על FULLTEXT SEARCH צריך לבדוק את העיניין...

הבעיה היא שאין לי זמן לשבת ולחקור את זה....;-(

Balrog 10-10-06 19:34

אמממ בוא נשאל משהו
אם אתה מנסה דרך ה phpmyadmin להריץ שאילתא מהסוג הזה - הוא גם מחזיר לך תוצאות עקומות כאלה?

eLad 10-10-06 19:35

ציטוט:

נכתב במקור על ידי RS324
מצאתי משהו על FULLTEXT SEARCH צריך לבדוק את העיניין...

FTS זו אופציה ב SQL SERVER ולא קיימת ב MySQL לפי מה שאני יודע.

למה שלא תשתמש פה ב "=" ? זה גם יותר יעיל...

Tomer 10-10-06 20:57

ציטוט:

נכתב במקור על ידי eLad
FTS זו אופציה ב SQL SERVER ולא קיימת ב MySQL לפי מה שאני יודע.

למה שלא תשתמש פה ב "=" ? זה גם יותר יעיל...

"=" יחזיר לו תוצאות מדוייקות, ואני לא חושב שאתה יכול לעשות x='%search%'

ולגבייך RS324, פעם הבנתי שיש באג ב MySQL שאם הנתון הוא Ido למשל, ותנסה לחפש ןdo (עם "נון" סופית) זה יחזיר את המילה Ido. זה באג ב MySQL עם העברית.

Unknown 10-10-06 21:29

כמו שאטום אמר, יש באג עם העברית שאותיות מסויימות דופקות לך את החיפוש ואתה מקבל תוצאות מוטעות
תנסה להמיר את הקידוד של המערכת, לרוב קידוד הDEFAULT של הMYSQL גורם לכך

בניה 10-10-06 22:40

ב"ה


זה בגלל ה like.
אפשר להשתמש ב=
PHP קוד:

title '%".$searchword."%' 

ווזה יתן לך את כל התוצאות שזה מופיע בתוכן
ולחיפושים מורכבים אפשר להשתמש ב regexp

Unknown 11-10-06 02:10

אני לא בטוח שה% פעילים כאשר זה לא LIKE

WebProject 11-10-06 09:02

הבעיה ברורה לעיניים, התווים % % אומרים שיחפש תווים שדומים בהתחלה ותווים שדומים בסוף... וכנראה שהוא מוצא תיאום בין התווים (האותיות), לדוגמא אוכל, אומן.


כל הזמנים הם GMT +2. הזמן כעת הוא 13:38.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ