Tento příspěvek ukazuje na:
Co je to „fuzzy“ dotaz?
' neostrý “ dotaz je dotaz DSL, který provádí vyhledávání dalších operací, jako je změna znaku, vložení znaku nebo odstranění znaku na základě “ Levenshtein upravit vzdálenost ' vzdálenost. Obvykle najde rozdíl mezi výrazy a vrátí výsledek v dokumentu, který je bližší nebo téměř podobný hledanému výrazu.
Co je to „shoda“ dotaz?
' zápas ” dotaz je další typ dotazu DSL, který se používá ke shodě nebo vyhledávání daných dat, jako je řetězec, číslo nebo text. Jedná se o „ celý text ” dotaz a provede fulltextové vyhledávání a vrátí výsledky, které přesně odpovídají hledanému výrazu. Pokud se výraz neshoduje s hledaným výrazem, vrátí řetězec null nebo false.
Rozdíl mezi „fuzzy“ a „match“ dotazem
Oba ' neostrý ' a ' zápas “ dotazy se používají pro účely vyhledávání. Klíčový rozdíl mezi těmito dvěma dotazy je v tom, že „fuzzy“ dotaz vytváří fuzzy vyhledávání a vrací výsledek, který je podobný nebo blízký hledanému výrazu. Naproti tomu dotaz „shoda“ vrátí výsledky, které přesně odpovídají hledanému výrazu.
Pro lepší pochopení postupujte podle níže uvedených příkladů:
Příklad 1: Fuzzy vyhledávání pomocí „fuzzy“ dotazu
Předpokládejme, že uživatel chce najít dokument, který má „ Označení “hodnota jako “ Autor “. Proveďte vyhledávání, které najde bližší shodu. K tomu použijte „ neostrý ” dotaz pro vyhledání dokumentu, který má “ Označení “hodnota rovná nebo bližší k “ autor “:
ZÍSKEJTE linuxhint / _Vyhledávání{
'dotaz' : {
'fuzzy' : {
'Označení' : 'autor'
}
}
}
Níže uvedený výstup ukazuje, že dokument s id „ 1 ' má ' Označení “hodnota blízká “ autor ” hledaný výraz:
Ale pokud je výše uvedený příklad aplikován „ zápas “, odešle “ nulový řetězec ” protože vrací přesně odpovídající výraz.
Příklad 2: Fuzzy vyhledávání pomocí dotazu „Match“.
Vezměme stejný příklad a použijeme „ zápas ” dotaz k nalezení dokumentu, který má “ Označení “hodnota jako “ autor “:
ZÍSKEJTE linuxhint / _Vyhledávání{
'dotaz' : {
'zápas' : {
'Označení' : 'autor'
}
}
}
Níže uvedený výstup ukazuje, že „ zápas “ dotaz nenajde bližší výsledky a vrátí “ nula ' tětiva:
Upravme hledanou hodnotu z ' autor “ až “ Autor “ a spusťte „ zápas “ dotaz, jak je uvedeno níže:
ZÍSKEJTE linuxhint / _Vyhledávání{
'dotaz' : {
'zápas' : {
'Označení' : 'Autor'
}
}
}
Zde můžete vidět „ zápas “ dotaz vrátí dokument s id “ 1 “. Protože dokument 1 přesně odpovídá hledaným výrazům:
To je vše o rozdílu mezi „ neostrý “ dotaz a “ zápas “ dotaz.
Závěr
' neostrý ” dotaz se používá k fuzzy vyhledávání a vrací výsledky, které se těsně shodují s hledaným výrazem. Nicméně, „ zápas ” dotaz nepodporuje fuzzy vyhledávání a vrací výsledky, které přesně odpovídají hledanému výrazu. Tento blog ilustroval rozdíl mezi fuzzy dotazem a vyhledávacím dotazem.