Personlig fråga och svar Sökmotor

Sökmotorer är bra för att hitta massor av användbar information men de ger ofta för mycket information. Det kan ta tid att sortera igenom det för att hitta det du behöver. De flesta människor slutar göra samma sökning igen eftersom de inte kommer ihåg allt. Jag började lägga till användbar information till en fil så det skulle vara lätt att hitta men det blev svårare och svårare att hitta det jag letade efter.

En personlig sökmotor med frågor och svar gör det lättare att hitta det du letar efter. Skriv en fråga. Om det svar du inte är där inte hitta det. Lägg sedan till den så att den kommer att finnas där nästa gång. Jag gjorde en enkel fråga och svars sökmotor eftersom jag inte har ett fotografiskt minne. Datorer glömmer inte. De kan komma ihåg allt du lägger till dem och mitt datorprogram gör det enkelt att hitta den information jag letar efter.

Om du inte kommer ihåg allt så få din dator att komma ihåg åt dig.

Kunskapsbas

En kunskapsbas är en samling kunskap lagrad i en fil. De kan användas för att lagra massor av användbar information inklusive svar på vanliga frågor. När du tar anteckningar kan du skriva eller klistra in information i en textredigerare som Anteckningar eller Wordpad. För detta program ställer du en fråga och sedan lägger du till svaret i en textruta. Istället för att bara notera lägger du till innehåll i sökmotorn så att det är lättare att hitta.

Efter att ha lagt till några recept i en kunskapsbas. Jag kunde skriva "Hur man gör kyckling och ris?" och det skulle ge mig receptet. Med hjälp av min JavaScript- och HTML-kunskapsbas kunde jag fråga "Hur sparar och laddar jag data till lokal lagring?" och det skulle ge mig kod som jag kunde kopiera och klistra in på en HTML-sida.

Idéer för en kunskapsbas

datorkodallmänbildninghur
expert systemreceptfelsökning
AI-datorspelarefakta och triviatekniska frågor
chat botVanliga frågorhandböcker
spel botIdentifieringguider
virtuell duHjälpcentertips

HTML-sida med knappar

 Sidans titel Personlig fråga och svar Sökmotor 


Svar Ta bort fråga Rensa frågor. Backup Download Restore Används när du skickar data till textfil. // Sätt JavaScript nedan mellan skripttaggarna.

Komplettera automatiskt

Autocomplete ger användaren möjlighet att fylla i ord eller meningar. Du behöver det så att du kan matcha nya frågor med frågor som redan har ställts. Det sparar tid och visar användaren en lista med liknande frågor som redan har ställts. Den autofullständiga funktionen är huvudfunktionen. Om jag börjar skriva "How to" skulle det ge mig en lista med frågor som innehåller orden "how to".

 var KBName = document.getElementById ("KBName"); var myQuestion = document.getElementById ("myQuestion"); // input for Questions var Text1 = document.getElementById ("text1"); // TextBox för att visa svar var Text2 = document.getElementById ('Text2'); // textbox för att spara i textfilen var Complete = document.getElementById ("autocomplete"); // div var Backup = document.getElementById ('Backup'); // knapp var FrågaL = [], AnswerL = [], OnQuestion = -1; var ScreenRatio = Math.ceil (windows.devicePixelRatio); var ScreenHeight = Math.floor (windows.innerHeight * ScreenRatio-6 * ScreenRatio); var ScreenWidth = Math.floor (windows.innerWidth * ScreenRatio); Text1.style.width = Math.floor (ScreenWidth * 0, 98) + "px"; myQuestion.style.width = Text1.style.width; myQuestion.style.maxWidth = "600px"; Complete.style.width = Text1.style.width; Complete.style.maxWidth = "600px"; myQuestion.focus (); Text1.style.height = ScreenHeight * 0, 5 + "px"; Complete.style.position = "fix"; var input = myQuestion; input.addEventListener ("keyup", funktion (händelse) {event.preventDefault (); if (event.keyCode === 13) AddNewQuestion ();}); funktion autocomplete (TxtInp, AutoLst, Lst2) // (input-objekt, array, array) {var BestMatch = 0, Matches = []; TxtInp.addEventListener ("input", funktion (e) {// Kör när användaren skriver i textfältet. Var Div1, Div2, val = this.value; Text1.value = ""; closeAllLists (); // close open listar om (! val) {Text1.placeholder = "Svaret kommer att visas här."; returnera falsk;} Text1.placeholder = ""; // så se inte platshållaren under auto complete text Div1 = document.createElement ("DIV" ); // skapa Div för att innehålla värden Div1.setAttribute ("id", this.id + "autocomplete-list"); Div1.setAttribute ("class", "autocomplete-items"); this.parentNode.appendChild (Div1 ); // lägg till DIV-barn av autofullständigt element var Srt = SortMatches (AutoLst, Lst2, val); BestMatch = Srt [0]; Matchningar = Srt [1]; för (var i = 0; i <AutoLst.length; i ++ ) {// huvudslinga // steg 1. dela AutoLst [i] & val till ord var Q = AutoLst [i]; // Q från fråglistan, U-användare fråga var Q2 = "", U = val, U2 = "", Max = 15; för (var loo = 0; loo  ";} else Div2.innerHTML + =" "+ Qwords2 [L] .substring (0, Qwords2 [L] .length-1) +", ";} else {Div2.innerHTML + =" "+ Qwords2 [L] +" ? ";} annat om (L 

Funktioner autofyllt behov

 funktion SortMatches (AutoLst, Lst2, val) {var BestMatch = 0, Matchningar = [], Srt = []; // Räkna antalet matchningar för (var i = 0; i  5) {myQuestion.value = värde; } // ändra frågan som ställs för att matcha filterens returvärde; } funktion FilterAllQuestions () {för (var i = 0; i  -1) {if (AnswerL [OnQuestion] == undefined || AnswerL [OnQuestion] == null) AnswerL [OnQuestion] = ""; Text1.value = AnswerL [OnQuestion];} else {Text1.value = ""; OnQuestion = QuestionL.length; AddNewQuestion (); }} -funktion FindQ (Q) // leta efter frågaindex {var CanChange = falsk; if (Q == undefined) {Q = myQuestion.value; CanChange = true;} Q = FilterQuestion (Q); if (CanChange) myQuestion.value = Q; var InputLower = Q.toLowerCase (); var LowerQuestions = LowerArray (FrågaL); var index = LowerQuestions.indexOf (InputLower); avkastningsindex; } funktionen SetAnswer () // när användaren svarar på en fråga {if (myQuestion.value.length <6) return; // returnera om frågans längd är för kort OnQuestion = FindQ (); if (OnQuestion <0) AddNewQuestion (true); annars {var value = FilterQuestion (); FrågaL [OnQuestion] = värde; AnswerL [OnQuestion] = Text1.value; SaveQuestions ("SetAnswer");}} 

Spara kunskapen

När du ställer och svarar på frågor sparas informationen automatiskt med 'localStorage'. Den lagrar informationen för den nuvarande kunskapsbasen på din dator. Endast den nuvarande webbläsaren har åtkomst till den. Så om du skapade kunskapsbasen i Chrome kan du inte komma åt den i Firefox. Du kan också spara och ladda med textfiler. Spara och ladda textfiler görs manuellt med knapparna 'Backup' och 'Restore'.

En kunskapsbas som sparas i en textfil kan nås av olika webbläsare. Du kan till och med skicka det till någon som har det här programmet på sin dator.

Spara & ladda lokalt

 funktion SaveQuestions (Var) {för (var i = 0; i 

Spara & ladda till textfiler

 var textFile = null; funktionen makeTextFile (text) // skapar en url med data så att den kan laddas ner {var data = new Blob ([text], {type: 'text / plain'}); if (textFile! == null) fönster.URL.revokeObjectURL (textFile); // Om du ersätter tidigare återkallande till fritt minne textFile = windows.URL.createObjectURL (data); return textFile; // behöver detta för att ladda ner knappen klicka för att arbeta}; Backup.addEventListener ('klicka', funktion () {// När du klickar på 'Backup' -knapp var link = document.getElementById ('downloadlink'); var Titel = FilterQuestion (KBName.value, falsk); var Frågor2 = "", Svar2 = ""; för (var i = 0; i 

Funktioner för att ta bort frågor

 funktion RemoveQuestion () // när användaren väljer att ta bort ett svar från lokalt {OnQuestion = FindQ (); if (OnQuestion> -1) {QuestionL.splice (OnQuestion, 1); AnswerL.splice (OnQuestion, 1); myQuestion.value = ""; Text1.value = ""; SaveQuestions ("RemoveQuestion") autocomplete (myQuestion, QuestionL, AnswerL); }} -funktion RemoveQuestions () // tar bara bort lokala, txt-filer måste tas bort av användaren {if (bekräfta ("Rensa alla frågor och svar.")) {localStorage.removeItem ('mikesQuestions'); localStorage.removeItem ( 'mikesAnswers'); myQuestion.value = ""; Text1.value = ""; QuestionL = []; AnswerL = []; autocomplete (myQuestion, QuestionL, AnswerL); }} 

Kör när sidan slutförs

 funktion OnLoad () {LoadQuestions (); autocomplete (myQuestion, QuestionL, AnswerL); } 

Hur man kopierar och klistrar in koden

Öppna en textredigerare som Notepad eller Wordpad. Kopiera och klistra in html-koden med knappar. Kopiera sedan javascript i ordning och klistra in det mellan skripttaggarna. Spara filen med ett namn som QnASearch.htm så att du kan öppna den i en webbläsare. Se till att du är uppmärksam på filens plats. Visa dina datafiler och hitta mappen. Dubbelklicka sedan för att öppna filen.

Du bör se frågan och svara sökmotorn. Kunskapsbasen kommer att vara tom. Så du måste fylla det genom att ställa och svara på frågor. Det är avsett att användas som en offline-webbsida. Du öppnar den i en webbläsare men behöver inte vara online.

Ladda data från en textfil online.

 // hämtar en fil med namnet KB som laddades upp med din HTML-fil hämtning ('KB.txt') .then (response => response.text ()) .then ((data) => {alert (data); // för att se att det fungerade // flytta data till variabler}) 

Dela och använda din kunskapsbas

Detta program är bra för att få din dator att komma ihåg saker för dig. Du kan också dela din kunskap eller få andra att dela information genom att dela textfiler som skapats med knappen "Säkerhetskopia". Det enklaste sättet skulle vara att e-posta filen. Ett annat sätt att dela en kunskapsbas är att ladda den på en webbsida. Ladda upp en textfil med frågor och svar. Få sedan en webbsida för att ladda informationen med onload-funktionen och hämta koden som visas ovan.

När du har skapat en kunskapsbas kan du få andra webbsidor och program att ladda och använda data. Du kan använda det för spel, chattbots, en FAQ-sida, hjälpsidor, expertsystem osv. I stället för att bara svara på frågor kan du ställa att programmet kan fylla i dig i din frånvaro. Ett datorprogram kan fatta beslut baserat på din kunskap och svara på det sätt du skulle göra.

Innehållet är korrekt och sant efter bästa författares kunskap och är inte avsett att ersätta formella och individualiserade råd från en kvalificerad professionell.