חיפוש חלקי - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

חיפוש חלקי


Judas Iscariot

Recommended Posts

שלומות אנשים,

לאבא שלי ספרים רבים בבית והחלטתי לעשות רשימה און ליין של כל הספרים עם אפשרות להוסיף ספרים למסד וכד' (משעמם לי :<)

עשיתי כמובן גם דף חיפוש אשר מחפש ספר לפי סופר, "הבעיה" היא שהחיפוש מחפש as it is , כלומר, בדיוק מירבי.

דוגמא:

נגיד אני מחפש ספר של אגאטה כריסטי, אם אקליד אגאטה כריסטי הספרים שלה יימצאו והם מוצגים יפה מאוד

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

הקוד של החיפוש:


<%
set c=server.createobject ("adodb.connection")

DSN = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & _
Server.MapPath("/arielkarlinsky/database/database_users.mdb")
c.open dsn

set r = server.createobject("adodb.recordset")
r.activeconnection=c
autohor_z = request.form("autohor")
sqlstring=" select * FROM books WHERE (autohor='"&autohor_z&" ')"
r.open sqlstring
if r.eof then
response.write "<font class=normal> אין ספרים של הסופר אותו הכנסת </font>"
else

response.write "<font class=headline>"
response.write "רשימת ספרים"
response.write "</font>"
response.write "<br>"
response.write "<br>"
response.write "</div>"
response.write "<table align=center border=2>"
response.write "<tr>"
response.write "<th><font class=th>שם סופר</font></th><th><font class=th>שם ספר</font></th>"
response.write "</tr>"

do until r.eof
response.write "<tr>"

response.write "<td><font class=normal>"&r.fields("autohor")&"</font></td>"
response.write "<td><font class=normal>"&r.fields("book")&"</font></td>"
response.write "</tr>"


r.movenext
loop
response.write "</table>"
end if


r.close
set r=nothing
c.close
set c=nothing

%>


הערות: כן, אני יודע שזה אמור להיות author ולא autohor, פשוט שמתי לב שביותר מדי דברים קשורים כתבתי autohor אז החלטתי פשוט ללכת על זה, מה זה משנה, ממילא רק כותב הקוד רואה את שגיאת הכתיב האיומה הזו שנבעה ממהירות הקלדה בלתי אנושית בעליל(הא<? :screwy:)

vb script בלבד, אני לא מכיר שפות צד שרת אחרות...

תודה לעוזרים :yelclap::xyxthumbs:

קישור לתוכן
שתף באתרים אחרים

תראה, יש שיטה יותר מתקדמת שנקראת גיר?עו?ן (מהמילה גרעין), אבל משום מה לא נראה לי שאתה רוצה להיכנס אליה.

מה שזה אומר שאתה מפעיל תהליך מסוים על מילות המפתח (או הטקסטים) שאתה מאנדקס, (למשל "אגאטה כריסטי" יכול להפוך ל"אגת קרסט")

הרעיון בזה הוא להביא לכך שכל צורות הכתיבה של מילה מסויימת "יתכנסו" לאותו טקסט מגורען (יש לזה כללים ספציפיים לכל שפה).

ואגב, ב- Oracle למשל, יש לך גם (ספציפית לאנגלית ואולי עוד כמה שפות) פונקציות של SoundsLike ודומיהן שמאפשרות לך לחפש לפי דמיון פונטי.

קישור לתוכן
שתף באתרים אחרים

אבל כאן, בעברית, בגלל כל חוקי התחביר זה הרבה יותר קשה. לדוגמא - אתה צריך לזהות את השורש ולבדוק אם ה- 'ה' שבסוף המילה היא [לא זוכר את השם] או רגילה. אתה גם צריך לבדוק אם כל אות אהוי היא עיצורית או [עוד משהו שאני לא זוכר את שמו].

זה קצת מסובך, ולא כדאי להיכנס לזה.

קישור לתוכן
שתף באתרים אחרים

כשהייתי בצבא מישהו עשה דבר כזה. אומרים שזה עבד לא רע.

גרעון לא בהכרח מבוסס על ניתוח מורפולוגי (ובטח שלא תחבירי)

אבל אני מסכים שצריך סיבה ממש טובה להיכנס לזה.

קישור לתוכן
שתף באתרים אחרים

אני מניח שמורפיקס עושה משהו כזה... מעניין אם הם מוכנים לשחרר ארת הקוד שלהם..

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...