Use ASP to make a full-text search

zhaozj2021-02-08  259

Summary: The full text of the word search is the method of the browser, and the ASP is similar to CGI, and it can also perform a simple text.

Keywords: ASP search intranet page ADO data source

What is often touched in the Internet / Intranet on a detailed browsing and full-text search. ASP is a server-side that Microsoft developed for making dynamic web pages

Script type (or write a environment). It uses VBScript or JavaScript and other simple script languages, integrated in the HTML code, executes the data visit in the server side responds to the browser request.

Question and process (or object) call and generate the scripting language executed by the browser. This article describes the method of writing a full text search code with ASP.

Method introduction:

Determine the retrieved file. Save them in the same folder. The type of file can be any text type (including .htm web file type)

Build a library that is retrieved. It mainly includes file name, file title, etc.

Access the database in ADO. Establish a recordset object.

Open the file points to the current record in the recordset one by one. Match the full text of the file with the string of the lookup.

Output the eligible file header to the client web page and add a chain pointing to the file for users to choose to browse.

Technical points:

data source. To specify the database and its driver to be accessed using the ODBC in the Windows 95 Control Panel before creating a script, identify the data source name (DSN).

Match the length of the string. Since the data from the browser is passed through the encoding to the server side, the ASP is not entirely the useful information of the user input through its built-in object Request.

So it is handled. A flag character (such as # or chr (7)) can be attached after the input string. This article takes another method to calculate the length of the effective information. Thus the required

String.

Create a script file system object Scripting.FileSystemObject, turn on the text stream to read.

Features:

Directly to the .htm document, the full-text search, saves many conversion processes. .htm files are used for web pages, two in one fell swoop.

Applying ASP, simply, easy to implement.

This example ASP code:

<% @ Language = "VBScript"%>

DocumentTitle </ Title></p> <p><Metaname = "MicrosoftBorder" Content = "TL, Default"> </ head></p> <p><Bodybackground = "/ ie / images / watermrk.gif" bgproperties = "fixed" bgcolor = "# 00fff"></p> <p><%</p> <p>MousePointer = 13</p> <p>SetConn1 = Server.createObject ("AdoDb.Connection")</p> <p>Conn1.open "DSN = CZNJ"</p> <p>Setrcst1 = conn1.execute ("Select * fromPages_catalog")</p> <p>SCH_STR = Request.form ("Text1")</p> <p>Doubbytes = len (SCH_STR) / 2SCH_STR = Left (SCH_STR, DOUBBYTES)</p> <p>Response.write "<strong> <center> <h2> Find results </ h2> <hr> <br> </ strong>"</p> <p>Dimresult</p> <p>Result = false</p> <p>Response.write "<UL>"</p> <p>Dowhilenotrcst1.eof</p> <p>Tit = rcst1.fields ("file_title")</p> <p>Fn = rcst1.fields ("file_name")</p> <p>File_name = server.mappath ("/") & "/ njweb / private /" & fn</p> <p>TO_FIND = TEXT_MATCH (file_name, sch_str)</p> <p>IFTO_FINDTHEN</p> <p>URL = "Private /" & FN</p> <p>Response.write "<left> <li> <h4> <ahref =" & url & "& tit</p> <p>ENDIF</p> <p>RCST1.MOVENEXT</p> <p>Result = Resultorto_Find</p> <p>loop</p> <p>Response.write "</ ul>"</p> <p>IFNOTRESULTTHEN</p> <p>Response.write "<h3> <i> Not found! </ I> </ h3>"</p> <p>ENDIF</p> <p>mousepointer = 0</p> <p>%></p> <p><Scriptrunat = "server" language = "vbscript"></p> <p>FunctionText_match (filename, search_string)</p> <p>Dimretstring</p> <p>DIMFIND_POS</p> <p>Dimfso, a</p> <p>DIMDONE</p> <p>TEXT_MATCH = FALSE</p> <p>SetFSO = Server.createObject ("scripting.filesystemObject")</p> <p>Seta = fso.opentextfile (filename, 1, false "forreading -> 1</p> <p>DONE = a.atendofstreamortext_match</p> <p>Dowhilenotdone</p> <p>Retstring = a.readline</p> <p>Find_pos = INSTR (Retstring, Search_String)</p> <p>Iffind_pos> 0thentext_match = true</p> <p>DONE = a.atendofstreamortext_match loop</p> <p>a.close</p> <p>ENDFUNCTION</p> <p></ Script></p> <p></ Body></p> <p></ Html></p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-2495.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="2495" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.040</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'P404XPo10OuMDn5exZZEqgJJcm22I_2BxUsBh9rJkMJIgdD_2FZgb2IfCo_2FZTWLnTQOPaedrchY2A02icIfDEj0nZg_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>