Leiðbeiningar

Hvernig bætir þú leit við appið þitt: frá einföldum síum yfir í leit í öllum texta

Til að bæta leit við appið þitt skaltu byrja á því einfaldasta sem virkar: leitarreit sem kallar á þjónustuleið, sem síar gagnagrunnslínur með því að bera fyrirspurnina saman við nokkra dálka, auk sía fyrir hluti eins og flokk eða verð. Þegar það dugar ekki, til dæmis þegar þú þarft röðun eftir mikilvægi, stofnun orða eða mikið magn skráa, skiptu yfir í leit í texta gagnagrunnsins þíns, og farðu aðeins í hýsta leitarvél ef þú þarft sterkt umburðarlyndi fyrir villum eða augnabliksniðurstöður á stórum gögnum. Hvað sem þú velur verður leit að virða heimildir: notendur mega aldrei finna skrár sem þeir mega ekki sjá.

Hvað „leit“ þýðir fyrir appið þitt

Leit nær yfir nokkra ólíka hluti og flest öpp þurfa fleiri en einn:

  • Leitarorð: textareitur, til dæmis „finna skráningar sem nefna „garður““.
  • Síur: skipulögð val, til dæmis flokkur, borg, verðbil, dagsetning eða staða.
  • Röðun: nýjast, ódýrast, mikilvægast.
  • Sjálfvirk útfylling: tillögur meðan skrifað er.
  • Umburðarlyndi fyrir villum: „restuarant“ finnur samt „restaurant“.

Fyrir skráasafn, atvinnuauglýsingar eða verslun skipta síurnar oft meira máli en textareiturinn. Ákveddu hvað þú þarft í raun áður en þú velur verkfæri.

Valkostir

AðferðHvernig hún virkarHentar fyrirTakmarkanir
Sía í vafranumHleður listanum og síar hann í JavaScriptLitla opinbera lista (nokkur hundruð atriði)Sendir öll gögn til hvers gests; hægt með stórum listum
Samsvörun í gagnagrunniFyrirspurn á netþjóni eins og „nafnið inniheldur textann“, óháð hástöfumLítil til meðalstór öpp, stjórnunartólEngin röðun; getur verið hægt á stórum töflum; engin stofnun
Leit í texta í gagnagrunniPostgres indexar orð og raðar samsvörunumFlest öpp með mikið efniVeik gegn villum nema bætt sé við óljósri samsvörun
Óljós samsvörun (þríbókstafir)Postgres ber saman stafaraðir til að meta líkindiNöfn, stuttir reitir, umburðarlyndi fyrir villumKrefst viðbótar og vísis; stillingar taka tíma
Hýst leitarvélSérstök þjónusta skráir gögnin þín (Algolia, Meilisearch, Typesense, Elasticsearch og fleiri)Stór söfn, augnabliksleit, mikið umburðarlyndi fyrir villumÖnnur þjónusta sem þarf að halda í samstillingu, borga fyrir og tryggja

Ef gögnin þín eru þegar í Postgres er innbyggð leit í texta þar sterk millileið. Hún brýtur texta í orð, færir þau í stofna (þannig að „running“ finnur „run“), sleppir algengum orðum og getur raðað niðurstöðum eftir því hversu vel þær samsvara. Með réttum vísi helst hún hröð á stórum töflum.

Dæmi um fyrirmæli

Einföld byrjun:

Bættu við leitarreit og síum á listasíðuna. Leitin á að bera fyrirspurnina saman við titil og lýsingu, óháð hástöfum. Síur: flokkur (fellilisti), borg (fellilisti) og hámarksverð. Framkvæmdu leitina á netþjóninum með síðuskiptri API-leið, 20 niðurstöður á síðu. Haltu leitinni og síunum í slóðinni svo hægt sé að deila niðurstöðum og bakhnappurinn virki. Sýndu vingjarnlegt tómt ástand þegar ekkert passar.

Uppfærsla yfir í leit í texta:

Skiptu leit á skráningum yfir í leit í texta Postgres á titli (vegin hærra) og lýsingu. Bættu við réttum vísi, raðaðu niðurstöðum eftir mikilvægi og haltu núverandi síum og síðuskiptingu. Ekki breyta neinum núverandi gögnum.

Umburðarlyndi fyrir villum í nöfnum:

Bættu við óljósri samsvörun á nafni fyrirtækis svo litlar villur finni samt niðurstöður. Notaðu líkindi í þríbókstöfum ef þau eru til staðar, með vísi, og falla aftur á núverandi leit ef ekki.

Skref fyrir skref

  1. Skráðu hvað fólk leitar að. Hvaða reitir (titill, lýsing, merki, nafn)? Hvaða síur? Spurðu nokkra raunverulega notendur ef þú getur.
  2. Byrjaðu á netþjóninum. Bættu við API-leið sem tekur fyrirspurnina og síurnar og skilar einni síðu af niðurstöðum. Hlaðið aldrei öllu í vafrann.
  3. Beittu heimildum í fyrirspurninni. Ef notendur sjá aðeins sínar skrár, eða aðeins birtar, á það skilyrði heima í sömu fyrirspurn og leitin.
  4. Bættu við síðuskiptingu strax í upphafi, með síðunúmerum eða „hlaða meira“.
  5. Hafðu leitarstöðuna í slóðinni (til dæmis ?q=garden&city=leeds). Deilanlegir tenglar, bakhnappurinn virkar og leitarvélar geta skriðið síaðar síður ef þú vilt að þær finnist.
  6. Seinkaðu leitinni meðan á innslætti stendur. Bíddu nokkur hundruð millisekúndur eftir að hætt er að skrifa áður en leitað er, svo ekki sé send beiðni fyrir hvern ásláttarstaf.
  7. Bættu við vísum þegar þú veist hvaða dálka þú síar og leitar í.
  8. Uppfærðu í leit í texta, síðan óljósa samsvörun, síðan hýsta leitarvél, en aðeins þegar einfaldara skrefið bregst raunverulegum notendum.
  9. Prófaðu með raunsæislegum gögnum: hundruðum eða þúsundum lína, sérstökum stöfum, tómum fyrirspurnum, mjög löngum fyrirspurnum og öðrum tungumálum ef þú styður þau.

Algeng mistök

  • Að hlaða allri töflunni í vafrann. Fínt fyrir 50 atriði, sársaukafullt fyrir 50.000, og það opinberar hverja skrá, líka þær sem notandinn á ekki að sjá.
  • Leit sem hunsar heimildir. Leit er algengur leki: einkaskrá eða drög birtast því fyrirspurnin gleymdi skilyrðinu „aðeins mínar“ eða „aðeins birtar“.
  • Að búa til SQL úr hráu inntaki notanda. Notaðu alltaf breytur með færibreytum. Gervigreindarsmiðir gera það venjulega, en athugaðu ef þú sérð strengi límda saman.
  • Ekkert tómt ástand. „Engar niðurstöður“ með tillögu (hreinsa síur, athuga stafsetningu) heldur fólki frá því að fara.
  • Engir vísar. Leit virðist í lagi með prófunargögn og hægist eftir því sem raunveruleg gögn stækka.
  • Stökk beint yfir í leitarþjónustu. Þá þarftu að halda öðru afriti gagnanna í samstillingu, meðhöndla eyðingar og tryggja annað sett af lyklum, oft án sýnilegs ávinnings.
  • Gleymt farsímanum. Síur þurfa að passa í síma; skúffa eða samfellanlegt spjald með síum virkar yfirleitt betur en hliðarstika.

Gátlisti

  • Þú veist hvaða reitir eru leitaðir og hvaða síur eru til
  • Leit keyrir á netþjóninum og skilar síðuskiptum niðurstöðum
  • Fyrirspurnin framfylgir sömu heimildum og restin af appinu
  • Inntak notanda er sent sem færibreytur, aldrei límt inn í SQL
  • Leitarstaðan er í slóðinni
  • Innslátturinn er seinkaður
  • Leitaðir og síaðir dálkar eru með vísi
  • Tóm, engin-niðurstöðu- og villuástand eru skýr
  • Prófað með raunsæislegu gagnamagni og óhreinu inntaki

Leit með Mythex

Í appi sem er smíðað á Mythex lifa gögnin yfirleitt í Postgres-gagnagrunni verkefnisins, svo þú getur byrjað með fyrirmælunum hér að ofan: samsvörun með mynstri fyrst, síðan leit í texta í Postgres þegar þú þarft röðun. Ef þú vilt hýsta leitarvél kemur þú með þinn eigin reikning og lykil, geymir hann sem leyndarmál verkefnisins og biður aðstoðarmanninn um að skrá og fletta upp á netþjóninum, eins og lýst er í Tengdu hvaða API sem er.

Leit er kjarninn í mörgum öppum: sjá hvernig býrð þú til skráasafnsvefsíðu, hvernig býrð þú til atvinnuauglýsingavef og hvernig býrð þú til markaðstorg til að sjá hvernig hún passar inn í restina af vörunni.

Spurningar

Hver er auðveldasta leiðin til að bæta leit við app?

Ef gögnin þín eru í gagnagrunni er auðveldasta byrjunin þjónustuleið sem síar línur með hástafaónæmri samsvörun á nokkrum dálkum. Fyrir lítinn lista sem þegar er hlaðinn í vafrann er enn einfaldara að sía í vafranum.

Þarf ég Algolia eða Elasticsearch fyrir leit?

Venjulega ekki í fyrstu. Leit í texta í Postgres ræður vel við orðasamsvörun, röðun og þúsundir til milljónir lína. Hýst leitarvél er þess virði þegar þú þarft sterkt umburðarlyndi fyrir villum, augnabliksniðurstöður þegar fólk skrifar á stórum gögnum, eða háþróaða stillingu á mikilvægi niðurstaðna.

Af hverju finnur leitin mín ekki niðurstöður þegar stafsett er vitlaust?

Einföld samsvörun og venjuleg leit í texta leita að orðunum eins og þau eru slegin inn (eða stofnum þeirra), svo stafsetningarvilla finnst ekki. Þú þarft óljósa samsvörun, til dæmis þríbókstafalíkindi (trigram) í Postgres eða leitarvél sem þolir villur.

Ætti leit að keyra í vafranum eða á netþjóninum?

Á netþjóninum fyrir allt annað en lítinn opinberan lista. Leit á netþjóni skalar, virðir heimildir og sendir ekki allt gagnasafnið þitt til sérhvers gests.

Mythex · Pricing · Smíðaðu hvað sem er með gervigreind · Sniðmát fyrir vefsíður og forrit · Mythex í samanburði · Orðasafn um forritasmíði með gervigreind · Ókeypis verkfæri fyrir forritasmíði með gervigreind · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)