Hogyan végezhetünk statikus keresést

A statikus blogok, például a GitHub oldalak tárhelye rendkívül népszerű módja annak, hogy könnyedén létrehozhassanak blogokat a teljes körű CMS szintjén. A második, a webmesterek körében népszerűbb helyzet a webarchiás weboldal, amely definíció szerint nem lehet dinamikus. Az ilyen helyek egyik legfőbb hátránya, hogy nincs egyszerű és megbízható módja a funkcionális keresésnek.

Hogyan végezhetünk statikus keresést


Szerencsére néhány ingyenes eszközzel könnyedén létrehozhat dinamikus keresést a statikus webhelyen. Nézzük meg egy ilyen keresés lépésről-lépésre történő létrehozását.

Először is a Crawler import.io szolgáltatást kell használni. Tartsa be webhelye összes tartalmát, és hozzon létre egy indexet, majd keresse meg.

Lezárt órákat írt a helyszínen. aki bemutatja Önt a Crawler létrehozásához, ha még soha nem hallott róla.

Amikor létrehoz egy robotot a blogod alatt, oszlopokat hozhat létre a "title" és a "subtitle" számára, amelyeket keresni fog; vagy felveheti az összes tartalmat a "képek" (típus KÉP), a "tartalom" (STRING típus) és a "linkek" (LINK típus) oszlopok segítségével, amelyek az összes képet, szöveget és linket megjelenítik az oldalon.

Ugyanakkor csak egy oszlopot lehet edzeni, és csak néhány bekezdést felvenni:

Íme egy példa a blog szkennelésének konfigurálására:

Hogyan végezhetünk statikus keresést


2. lépés: Keresse meg a szolgáltatót az indexhez

A blogom keresési indexének gyors lebonyolítása érdekében elhatároztam, hogy megpróbálom a FacetFlow-ot. Nem csak az Elasticsearch indexeket használják. így van egy jó homokozó is, amely lehetővé teszi, hogy akár 5000 dokumentumot, akár 500 MB adatot tároljon.

A regisztráció után a kapcsolódási beállításokat a szolgáltatással jeleníti meg:

Hogyan végezhetünk statikus keresést


3. lépés: Hozzon létre egy indexet

Annak érdekében, hogy segítsen létrehozni egy indexet a szükséges paraméterekkel, több segédprogramot is írtam Pythonba.
Másolja át az adattárat a számítógépre, majd állítsa be a Facetflow adatait: másolja az "es.json.template" fájlt "es.json" -ra és adja meg adatait. Meg kell változtatnia a "host" -ot, és a Facetflow API kulcsot a "hitelesítő adatok: felhasználónév" mezőben kell megadnia.

A "index_mapping.json" -et az Elasticsearch index fő kijelzőjével hoztam létre - megváltoztathatod, ha akarod, vagy hagyod, ahogy van.

(Van még "delete_index.py" - egy szkript, amely törli az indexet és az adatokat, ha szüksége van rá)

4. lépés: tartalom indexelése

Most, hogy létrehoztuk a lapolvasóinkat, és keresési indexünk készen áll az adatokra, itt az ideje elindítani a Crawler-t, és indexünket keresési tartalmakkal tölteni.

Számos konfigurációs fájl van, amelyet be kell állítania erre a célra.

Ezután létre kell hoznia egy szkennelési konfigurációt. Erre példa a konfigurációt a „crawl.json.example”, de ez csak egy példa, hogy átvizsgálja a blogomban - akkor kap „crawl.json” fájlt a saját csúszó nyitás import.io eszközt, és kiválasztják, hogy hol Export beállítások:

Hogyan végezhetünk statikus keresést


A végleges konfigurációs fájl a "mapping.json.template" alapján jön létre - ha ugyanazokat az oszlopneveket használta, mint fent, akkor csak a "mapping.json" fájlt másolhatja. Ha kissé eltérő oszlopneveket használ, akkor a fájlt az oszlopnév szerint módosíthatja.

Tehát, ha van auth.json, crawl.json, es.json, index_mapping.json és mapping.json, akkor készen is van, hogy indítson egy bejáró helyiségek Elasticsearch index adatok Facetflow.

Először is futtatni kell a Python szkriptet - "Server.py". Átnézi azokat az adatlapokat, amelyeket a bejáró a import.io fájlban talál, majd elküldi azokat a Facetflow-nak.

Ezután futtassa az import.io robotot. A szolgáltatás parancssorának elindításához kiterjesztett utasítás található.

A bejáró indítása után megjelenik a parancssor adatlapja. Ezek a szkript által létrehozott sorok, amelyek tájékoztatják Önt arról, hogyan feldolgozza őket, és elküldi őket az Elasticsearch indexnek.

A folyamat végén a bejáró import.io megjeleníti a "Feltérés befejezése" üzenetet, majd kilép - most leállíthatja a Python szkriptet (Ctrl + C). A Facetflow-nak meg kell mutatnia a hozzászólásait a vezérlőpulton:

Hogyan végezhetünk statikus keresést


Ha újra kell indexelnie a tartalmat (például szerkesztette a blogbejegyzéseket vagy újakat hoz létre), akkor ismételheti meg az utolsó két lépést. Mivel a hurok az oldal URL-jét ID-ként használja, a frissítések megfelelően feldolgozódnak, és minden új változat helyesen kerül újraindításra. Az index automatikus frissítéséhez akár ütemezett kiszolgálói feladatként is futtathatja.

5. lépés: Tartalom keresése

Most, hogy van indexelt tartalom, itt az ideje megtalálni! A Facetflow néhány példát mutat arra, hogyan kell ezt megtenni, de ha teljes mértékben ki szeretné használni az Elasticsearch teljesítményét, használjon egy ilyen keresési URL-t:

Hogyan végezhetünk statikus keresést

Kapcsolódó cikkek