it-swarm-eu.dev

Kolik písmen by mělo být zadáno do "hádání" Ajax vyhledávání před prvním návrhem?

Při vyhledávání s návrhovým polem založeným na Ajaxu, kolik písmen by se mělo napsat, než začne navrhovat výsledky? 1,2,3 ..

10
kuakeli

Sekundární pořadí

Pokud máte další faktor, který může výsledky hodnotit (např. „Popularita“, „kuakeliho hodnost“):

  • začněte prvním písmenem
  • omezit výsledky na druhé místo, výběrem TOP N

(zhruba: SELECT TOP 10 FROM Stuff WHERE Name LIKE "x*" ORDER BY Rank)

Pokud toto hodnocení nemáte, můžete začít i po prvním dopise, ale výsledky nejsou tak užitečné. Přesto neexistuje žádný použitelnost důvod, proč začít s řazeným seznamem:

SELECT TOP 10 FROM Stuff WHERE Name LIKE "x*" ORDER BY Name

důvody výkon

Thee je několik tradičních důvodů pro oddálení dotazu:

  • Část dotazu běží synchronně a musíte omezit blokování uživatelského rozhraní
  • Musíte omezit provoz/požadavky na poskytovatele vyhledávání

Toho je obvykle dosaženo zahájením vyhledávání, pokud nebylo stisknuto žádné tlačítko po dobu několika posledních stovek milisekund, nebo od začátku až po minimální délce řetězce.


Zbývá jeden případ (na který si vzpomenu), kde by začátek po [~ # ~] n [~ # ~] th klíč mohl zlepšit použitelnost: Klamavé zápasy. Pokud váš vyhledávací fond obsahuje takové prvky:

SDBXXFDR 1722 Lengthy
SDBXXFDR 1723 Still Lengthy
...   
SDBXXFDR 1799 Short
SOBXXFDR 1972 Lengthy with ripples

A stačí napsat "S", výsledky "SD" mohou skrýt SO jeden, šance na výběr špatného je poměrně vysoká. Nicméně, to vypadá velmi konstrukčně a já jsem Nejste si jisti, zda je přírůstkové vyhledávání vůbec dobrým řešením, pokud by to byl problém.

10
peterchen

Funkce automatického doplňování je optimálně podložena strukturou nazvanou Trie .

Při použití trie byste dokonce nemuseli nastavovat dolní hranici znaků. Hledání se provádí v O(n) kde n je délka textu dotazu a je nezávislá (většinou) na počtu položek vyhledávání, které jsou v databázi.

Podívejte se prosím na implementaci trie založenou na node.js, kterou jsem provedl - MyTriePOC .

Z pohledu uživatelské zkušenosti, pokud skutečně nastavujete dolní limit, je doporučeným postupem poskytnout nápovědu, která uživateli dá pokyn, aby pokračoval v psaní dalších znaků, aby bylo dosaženo nejlepších výsledků

1
Aniket Lawande