explain_test.go 987 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright 2012-2015 Oliver Eilhard. All rights reserved.
  2. // Use of this source code is governed by a MIT-license.
  3. // See http://olivere.mit-license.org/license.txt for details.
  4. package elastic
  5. import "testing"
  6. func TestExplain(t *testing.T) {
  7. client := setupTestClientAndCreateIndex(t)
  8. tweet1 := tweet{User: "olivere", Message: "Welcome to Golang and Elasticsearch."}
  9. // Add a document
  10. indexResult, err := client.Index().
  11. Index(testIndexName).
  12. Type("tweet").
  13. Id("1").
  14. BodyJson(&tweet1).
  15. Refresh(true).
  16. Do()
  17. if err != nil {
  18. t.Fatal(err)
  19. }
  20. if indexResult == nil {
  21. t.Errorf("expected result to be != nil; got: %v", indexResult)
  22. }
  23. // Explain
  24. query := NewTermQuery("user", "olivere")
  25. expl, err := client.Explain(testIndexName, "tweet", "1").Query(query).Do()
  26. if err != nil {
  27. t.Fatal(err)
  28. }
  29. if expl == nil {
  30. t.Fatal("expected to return an explanation")
  31. }
  32. if !expl.Matched {
  33. t.Errorf("expected matched to be %v; got: %v", true, expl.Matched)
  34. }
  35. }