2014-01-23 7 views
5

Wie behandelt Elasticsearch Indizes? Ich habe ein Feld mit dem Namen Coordinates, das die Unterfelder lat und lng in einer Sammlung namens users enthält. Ich möchte innerhalb dieser Sammlung suchen, aber das Koordinatenfeld indizieren. In meiner MongoDB-Konfiguration ist das Feld coordinate bereits ein 2D-Index. Wie kann ich ElasticSearch anweisen, nach diesem Feld zu suchen? Weiß es, dass Koordinaten ein Index ist? oder soll ich es mit diesem Skript sagen?Wie funktioniert elasticsearch?

curl -XPUT "localhost:9200/_river/artist/_meta" -d' 
{ 
    "type": "mongodb", 
    "mongodb": { 
     "db": "mydb", 
     "collection": "users" 
    }, 
    "index": { 
     "name": "coordin", 
     "type": "coordinates" 
    } 
}' 
+1

Ich habe einige Änderungen gemacht, aber es ist immer noch sehr unklar, was Sie benötigen. Ich schlage vor, einige Artikel zu lesen, wie ElasticSearch funktioniert, sehen Sie sich einige Tutorials an. Einige Artikel helfen hier - http://blog.smeef.co.uk/category/elastic-search/ – Nate

+1

Hier finden Sie auch einige sehr gute Artikel - https : //www.found.no/foundation/ – Nate

Antwort

0

Ich nehme an, dass hier von "Index" Sie wie diejenigen bei MongoDB und SQL Server meinen. Bei-Kontext ist es eine Sammlung von types und documents, mehr wie eine Datenbank ist eine Sammlung von tables und rows. Standardmäßig werden alle Felder in elasticsearch in einer Lucene Datenstruktur gespeichert, von der aus sie effizient abgefragt werden können.

Elasticsearch unterstützt indexierte Geodaten, Dokumentationen finden Sie unter here.

0

Elasticsearch funktioniert durch die Indexkonfiguration unter der Annahme, dass Sie bereits alles konfiguriert und Sie sind bereit, einige Dateien, die Sie die Datei finden unten in /etc/elasticsearch/templates/ in meinem Beispiel bearbeiten müssen erhalten eine log4net und ich hinzugefügt, um die Geospatial-Konfiguration, die ich gefunden here:

{ 
    "log4net": { 
    "template": "log4net*", 
    "mappings": { 
     "fluentd": { 
     "_ttl": { 
      "enabled": true, 
      "default": "62d" 
     }, 
     "properties": { 
      "hostname": { 
      "type": "string", 
      "index": "not_analyzed" 
      }, 
      "level": { 
      "type": "string", 
      "index": "not_analyzed" 
      }, 
      "enviroment": { 
      "type": "string", 
      "index": "not_analyzed" 
      }, 
      "site": { 
      "type": "string", 
      "index": "not_analyzed" 
      }, 
      "username": { 
      "type": "string", 
      "index": "not_analyzed" 
      }, 
      "logger": { 
      "type": "string", 
      "index": "not_analyzed" 
      }, 
      "thread": { 
      "type": "string", 
      "index": "not_analyzed" 
      }, 
      "systemname": { 
      "type": "string", 
      "index": "not_analyzed" 
      }, 
      "message": { 
      "type": "string", 
      "index": "not_analyzed" 
      }, 
      "location": { 
      "type": "geo_point", 
      "fielddata": { 
       "format": "compressed", 
       "precision": "1cm" 
      } 
      } 
     } 
     } 
    } 
    } 
} 
Verwandte Themen