Saat membangun situs web, bos meminta saya untuk menerapkan fungsi pencarian seperti Baidu. Di masa lalu, ASP menerapkan pencarian fuzzy dan kueri pencocokan. mustahil. Saat mencari di Internet, saya menemukan ada beberapa metode yang tersedia di Internet, yang pertama adalah dengan membuat tesaurus, yang kedua adalah dengan menggunakan komponen segmentasi kata, dan yang ketiga adalah yang saya bicarakan, teknologi segmentasi kata otomatis, tetapi memang demikian. bukan segmentasi kata yang cerdas, ini hanya Mencocokkan setiap kata lainnya. Hal terbaik adalah membangun kosakata dan mengembangkannya berdasarkan masukan pengguna, tetapi untuk situs web berukuran kecil dan menengah, hal ini mungkin tidak diperlukan.
Ini adalah jenis pencarian segmentasi kata ketiga yang saya bicarakan. Kodenya adalah sebagai berikut: Saya tidak akan membahas cara menggunakannya.
<%
Fungsi Kunci Otomatis (strKey)
CONST lngSubKey=2
Redupkan lngLenKey, strNew1, strNew2, i, strSubKey
'Periksa legalitas string, jika tidak, buka halaman kesalahan. Anda dapat mengatur halaman kesalahan sesuai dengan kebutuhan Anda.
jika InStr(strKey,"=")<>0 atau InStr(strKey,"`")<>0 atau InStr(strKey,"")<>0 atau InStr(strKey," ")<>0 atau InStr(strKey ," ")<>0 atau InStr(strKey,"")<>0 atau InStr(strKey,chr(34))<>0 atau InStr(strKey,"")<>0 atau InStr(strKey,", ")<>0 atau InStr(strKey,"<")<>0 atau InStr(strKey,">")<>0 lalu
Respons.Redirect "error.htm"
Akhiri Jika
lngLenKey=Len(strKey)
Pilih Kasus lngLenKey
Kasus 0 Jika string kosong, buka halaman kesalahan
Respons.Redirect "error.htm"
Kasus 1 Jika panjangnya 1, tidak ada nilai yang ditetapkan
strBaru1=""
strBaru2=""
'Kasus Lain Jika panjangnya lebih besar dari 1, mulailah dari karakter pertama string dan ulangi substring dengan panjang 2 sebagai kondisi kueri
Untuk i=1 Ke lngLenKey-(lngSubKey-1)
strSubKey=Tengah(strKey,i,lngSubKey)
strNew1=strNew1 & " atau U_Name seperti %" & strSubKey & "%"
strNew2=strNew2 & " atau U_Info seperti %" & strSubKey & "%"
Berikutnya
Pilihan Akhir
'Dapatkan pernyataan SQL lengkap
AutoKey="Pilih * dari T_Sample di mana U_Name seperti %" & strKey & "% atau U_Info seperti %" & strKey & "%" & strNew1 & strNew2
Fungsi Akhir
%>