Database Reference
In-Depth Information
In Riak suchen
Die Riak-Suche analysiert die Daten innerhalb ihres Riak-Clusters und baut
daraus einen invertierten Index auf. An den Begriff invertierter Index werden
Sie sich aus dem PostgreSQL-Kapitel erinnern (GIN steht für Generalisier-
ter Invertierter Index). Genau wie GIN sorgt der Riak-Index dafür, dass viele
String-Varianten schnell und effizient gesucht werden können, berücksich-
tigt dabei aber seine verteilte Natur.
Um die Riak-Suche nutzen zu können, müssen Sie es in Ihren app.config -
Dateien aktivieren und die Riak-Suchkonfiguration auf enabled, true set-
zen.
%% Riak Search Config
{riak _ search, [
%% To enable Search functionality set this 'true'.
{enabled, true}
]},
Wenn Sie mit Suchmaschinen-Lösungen wie Lucene vertraut sind, ist dieser
Teil ein Kinderspiel. Wenn nicht, hat man den Bogen schnell raus.
Wir müssen der Suche mitteilen, wenn sich Werte in der Datenbank ändern.
Dazu nutzen wir einen Pre-Commit-Hook. Sie können riak _ search _ kv _ hook ,
die precommit -Funktion des Erlang-Moduls, mit dem folgenden Befehl in das
animals -Bucket einbinden:
$ curl -X PUT http://localhost:8091/riak/animals \
-H "Content-Type: application/json" \
-d '{"props":{"precommit":
[{"mod": "riak _ search _ kv _ hook","fun":"precommit"}]}}'
Der Aufruf curl http://localhost:8091/riak/animals zeigt, dass der Hook
in die precommit -Eigenschaft des animal -Buckets eingefügt wurde. Wenn Sie
nunJSON-oderXML-kodierteDatenindas animals -Bucket einfügen, inde-
xiert die Riak-Suche die Feldnamen und Werte. Lassen Sie uns ein paar Tiere
hochladen.
$ curl -X PUT http://localhost:8091/riak/animals/dragon \
-H "Content-Type: application/json" \
-d '{"nickname" : "Dragon", "breed" : "Briard", "score" : 1 }'
$ curl -X PUT http://localhost:8091/riak/animals/ace \
-H "Content-Type: application/json" \
-d '{"nickname" : "The Wonder Dog", "breed" : "German Shepherd", "score" : 3 }'
$ curl -X PUT http://localhost:8091/riak/animals/rtt \
-H "Content-Type: application/json" \
-d '{"nickname" : "Rin Tin Tin", "breed" : "German Shepherd", "score" : 4 }'
Search WWH ::




Custom Search