2016-11-24 1 views
0

Zuerst abfragen, beginne ich eine Verbindung:Verwenden von Vorlagen Elasticsearch mit R

connect(es_host = "172.19.28.5") 

Und dann für meine Vorlage suchen (der getKpiHistMetric Template-Name):

Search_template_get('getKpiHistMetric') 

Und das Ergebnis ist:

>$lang 
[1] "mustache" 

$`_id` 
[1] "getKpiHistMetric" 

$found 
[1] TRUE 

$`_version` 
[1] 2 

$template 
[1] "{"size": 1000, 
    "query": { 
     "constant_score": { 
     "filter": { 
      "bool": { 
      "must": [ 
       {"term":{"KpiKey":"{{KpiKey}}"}}, 
       {"range":{"HistWriteTimestamp":{ 
              "from":"{{from}}", 
              "to":"{{to}}" 
              } 
         } 
       }] 
    }}}}}" 

So kann ich den Server erreichen und die Vorlage Abfrage finden. Diese Vorlage hat drei Parameter: KpiKey, from und to. Wie kann ich die Datenbank mit dieser Vorlage abfragen? Welche Funktion soll verwendet werden? Und wie gebe ich die Parameter weiter?

Vielen Dank.

Antwort

1

ein reproduzierbares Beispiel

library(elastic) 
conntect() 

laden iris-Datensatz in ES

if (!index_exists("iris")) { 
    invisible(docs_bulk(iris, "iris")) 
} 

eine Vorlage Make

body <- '{ 
    "template": { 
    "query": { 
     "match": { 
      "Species": "{{query_string}}" 
     } 
    } 
    } 
}' 

Search_template_register(template = 'foobar', body = body) 
die Vorlage registrieren Definieren

eine Suche, mit den Namen der Vorlage, wie in Search_template_register definiert,

body2 <- '{ 
"id": "foobar", 
    "params": { 
     "query_string": "setosa" 
    } 
}' 

die Vorlage Suche mit Search_template

Search_template(body = body2) 
  • mit Elaticsearch v5.0.0, R v3.3.2
+0

Danke Für deine Antwort werde ich es akzeptieren. Kannst du mir bitte zeigen, wo ich weiter schauen kann, wie man den Code in 'body'- und' body2'-Variablen erzeugt? – Eduardo

+0

der Körper kann eine R-Liste oder JSON sein, die 'elastischen' Dokumente haben Beispiele von jedem. Weitere Beispiele finden Sie unter Elastic docs https://www.elastic.co/guide/en/elasticsearch/reference/5.0/search-template.html – sckott

Verwandte Themen