2013-12-11 13 views
12

voglio usare ricerca a testo integrale nel mio progetto ... Qualcuno mi può spiegare, che cosa è la differenza tra elasticsearch e SQL testo Ricercaelasticsearch vs SQL Full Text Search

O

perché SQL completa La ricerca del testo è migliore (peggio) dell'elastico?

documentazioni, presentazioni, schema ...

risposta

24

Definire "meglio" ... sql ricerca a testo integrale è abbastanza banale per ottenere lavoro (indicizzazione e query) - ma ha sanzioni:

  • pochissimo (praticamente) il controllo su come le cose sono indicizzati (quali sono le chiavi di indice sono: quello che i lexer/stemmer/etc sono; etc)
  • eseguito sul server SQL - che di solito è l'infrastruttura almeno scalabile

La ricerca elastica richiede più lavoro; è necessario configurare e mantenere un cluster dedicato di nodi e quindi fornire il codice che esegue le operazioni dell'indice effettivo, che può anche implicare un lavoro pianificato che funziona da un log delle modifiche (elaborazione di dati nuovi/modificati), creazione dei frammenti da indicizzato; allo stesso modo, è necessario dedicare più tempo alla creazione della query. Ma si ottiene molto controllo sull'indice, sulla query e sulla scalabilità (un cluster può essere di qualsiasi dimensione sia necessario). Se lo aiuta, Stack Overflow è cresciuto nella ricerca full text di sql, quindi spostato nella ricerca elastica quando le limitazioni (caratteristiche e prestazioni) si sono rivelate proibitive.

+0

un po 'di feedback: http://nitschinger.at/Elastic-Search-and-SQL-Server-are-sitting-in-a-tree –

+0

@rudibruchez Non sono sicuro che sia "feedback" in quanto tale, ma è un link interessante e pertinente –

+0

Hai ragione, ho detto feedback perché l'autore sta commentando jTDS vs ms JDBC driver, ma è solo una frase nell'articolo. È per lo più tutorial. Cogliendo l'opportunità: Shpinx è un concorrente C++: http://sphinxsearch.com/about/sphinx/ –