-
Notifications
You must be signed in to change notification settings - Fork 138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change conversion of hit in native client #40
Comments
I propose native client use both. Feel free to submit a pull request. |
Sorry, "I could not get the tests to run" is not an acceptable argument. See .travis.yml to learn how it's done. |
michael thanks for the pointer to .travis.yml. I suggest you read http://blog.clojurewerkz.org/blog/2013/04/20/how-to-make-your-open-source-project-really-awesome/ :) The documention on how to run the tests is missing. We just like to get some trivial stuff fixed and the missing documentation makes it harder than it should be. Is the following output from lein test expected? Ran 210 tests containing 1338 assertions. 8 failures, 0 errors. Tests failed. |
@schmir it would be more helpful if you contributed said documentation instead of trolling. No, failures are not expected. CI passes and so do my local runs. |
I probably should write a post on how to report issues in a way that helps maintainers. You did not provide any stack traces or other information about which tests fail. ElasticSearch's native client has this annoying requirement that the client release should exactly match the ES release you run it against. Otherwise you may (and very likely, will) run into binary protocol compatibility issues. Are you running the same release as Elastisch uses? |
Hi michael! |
Thanks for the documentation. lein test passes when I run it against an elasticsearch 0.90.3 If I run it against 0.90.5 I get some errors. I don't believe the Retrieving org/elasticsearch/elasticsearch/0.90.5/elasticsearch-0.90.5.pom from central Retrieving org/elasticsearch/elasticsearch/0.90.5/elasticsearch-0.90.5.jar from central Reflection warning, clj_http/core.clj:147:11 - reference to field close can't be resolved. Using Clojure version {:major 1, :minor 5, :incremental 1, :qualifier nil} Reflection warning, clojurewerkz/elastisch/native/conversion.clj:127:9 - call to put can't be resolved. Reflection warning, clojurewerkz/elastisch/native/conversion.clj:127:9 - call to put can't be resolved. Reflection warning, clojurewerkz/elastisch/native/conversion.clj:243:54 - reference to field getValue can't be resolved. Reflection warning, clojurewerkz/elastisch/native/conversion.clj:463:7 - call to stats can't be resolved. Reflection warning, clojurewerkz/elastisch/native/conversion.clj:796:7 - call to refresh can't be resolved. Reflection warning, clojurewerkz/elastisch/native/conversion.clj:808:7 - call to refresh can't be resolved. Sep 25, 2013 1:23:28 PM org.elasticsearch.plugins INFO: [Eel] loaded [], sites [] lein test clojurewerkz.elastisch.fixtures lein test clojurewerkz.elastisch.internal.rest-test lein test clojurewerkz.elastisch.internal.utils-test lein test clojurewerkz.elastisch.native-api.count-test lein test clojurewerkz.elastisch.native-api.delete-test lein test clojurewerkz.elastisch.native-api.facets-test lein test clojurewerkz.elastisch.native-api.get-test lein test clojurewerkz.elastisch.native-api.indexing-test lein test clojurewerkz.elastisch.native-api.indices-test lein test :only clojurewerkz.elastisch.native-api.indices-test/test-flush-index-with-refresh ERROR in (test-flush-index-with-refresh) (Reflector.java:53) Uncaught exception, not in assertion. expected: nil actual: java.lang.IllegalArgumentException: No matching method found: refresh for class org.elasticsearch.action.admin.indices.flush.FlushRequest at clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:53) clojure.lang.Reflector.invokeInstanceMethod (Reflector.java:28) clojurewerkz.elastisch.native.conversion$__GT_flush_index_request.invoke (conversion.clj:808) clojurewerkz.elastisch.native.index$flush.doInvoke (index.clj:122) clojure.lang.RestFn.invoke (RestFn.java:439) clojurewerkz.elastisch.native_api.indices_test/fn (indices_test.clj:71) clojure.test$test_var$fn__7145.invoke (test.clj:701) clojure.test$test_var.invoke (test.clj:701) clojure.test$test_all_vars$fn__7149$fn__7156.invoke (test.clj:717) clojurewerkz.elastisch.fixtures$reset_indexes.invoke (fixtures.clj:16) clojure.test$compose_fixtures$fn__7139$fn__7140.invoke (test.clj:678) clojure.test$default_fixture.invoke (test.clj:671) clojure.test$compose_fixtures$fn__7139.invoke (test.clj:678) clojure.test$test_all_vars$fn__7149.invoke (test.clj:717) clojure.test$default_fixture.invoke (test.clj:671) clojure.test$test_all_vars.invoke (test.clj:713) clojure.test$test_ns.invoke (test.clj:736) clojure.core$map$fn__4207.invoke (core.clj:2487) clojure.lang.LazySeq.sval (LazySeq.java:42) clojure.lang.LazySeq.seq (LazySeq.java:60) clojure.lang.Cons.next (Cons.java:39) clojure.lang.RT.next (RT.java:598) clojure.core$next.invoke (core.clj:64) clojure.core$reduce1.invoke (core.clj:896) clojure.core$reduce1.invoke (core.clj:887) clojure.core$merge_with.doInvoke (core.clj:2702) clojure.lang.RestFn.applyTo (RestFn.java:139) clojure.core$apply.invoke (core.clj:619) clojure.test$run_tests.doInvoke (test.clj:751) clojure.lang.RestFn.applyTo (RestFn.java:137) clojure.core$apply.invoke (core.clj:617) user$eval87$fn__142$fn__173.invoke (form-init1162413116088527593.clj:1) user$eval87$fn__142$fn__143.invoke (form-init1162413116088527593.clj:1) user$eval87$fn__142.invoke (form-init1162413116088527593.clj:1) user$eval87.invoke (form-init1162413116088527593.clj:1) clojure.lang.Compiler.eval (Compiler.java:6619) clojure.lang.Compiler.eval (Compiler.java:6609) clojure.lang.Compiler.load (Compiler.java:7064) clojure.lang.Compiler.loadFile (Compiler.java:7020) clojure.main$load_script.invoke (main.clj:294) clojure.main$init_opt.invoke (main.clj:299) clojure.main$initialize.invoke (main.clj:327) clojure.main$null_opt.invoke (main.clj:362) clojure.main$main.doInvoke (main.clj:440) clojure.lang.RestFn.invoke (RestFn.java:421) clojure.lang.Var.invoke (Var.java:419) clojure.lang.AFn.applyToHelper (AFn.java:163) clojure.lang.Var.applyTo (Var.java:532) clojure.main.main (main.java:37) lein test clojurewerkz.elastisch.native-api.mappings-test lein test clojurewerkz.elastisch.native-api.more-like-this-test lein test clojurewerkz.elastisch.native-api.percolation-test lein test clojurewerkz.elastisch.native-api.queries.bool-query-test lein test clojurewerkz.elastisch.native-api.queries.custom-score-query-test lein test clojurewerkz.elastisch.native-api.queries.field-query-test lein test clojurewerkz.elastisch.native-api.queries.filtered-query-test lein test clojurewerkz.elastisch.native-api.queries.flt-field-query-test lein test clojurewerkz.elastisch.native-api.queries.flt-query-test lein test clojurewerkz.elastisch.native-api.queries.fuzzy-query-test lein test clojurewerkz.elastisch.native-api.queries.ids-query-test lein test clojurewerkz.elastisch.native-api.queries.match-all-query-test lein test clojurewerkz.elastisch.native-api.queries.mlt-field-query-test lein test clojurewerkz.elastisch.native-api.queries.mlt-query-test lein test clojurewerkz.elastisch.native-api.queries.prefix-query-test lein test clojurewerkz.elastisch.native-api.queries.query-string-query-test lein test clojurewerkz.elastisch.native-api.queries.range-query-test lein test clojurewerkz.elastisch.native-api.queries.term-query-test lein test :only clojurewerkz.elastisch.native-api.queries.term-query-test/test-basic-term-query-over-non-analyzed-usernames FAIL in (test-basic-term-query-over-non-analyzed-usernames) (term_query_test.clj:49) expected: (= "4" (-> (doc/search "tweets" "tweet" :query (q/term :username "michaelklishin")) hits-from first :_id)) actual: (not (= "4" "3")) lein test :only clojurewerkz.elastisch.native-api.queries.term-query-test/test-basic-term-query-over-non-analyzed-usernames FAIL in (test-basic-term-query-over-non-analyzed-usernames) (term_query_test.clj:49) expected: (is (= "4" (-> (doc/search "tweets" "tweet" :query (q/term :username "michaelklishin")) hits-from first :_id))) actual: false lein test :only clojurewerkz.elastisch.native-api.queries.term-query-test/test-basic-term-query-over-non-analyzed-embedded-fields FAIL in (test-basic-term-query-over-non-analyzed-embedded-fields) (term_query_test.clj:59) expected: (= "4" (-> (doc/search "tweets" "tweet" :query (q/term "location.state" "Moscow")) hits-from first :_id)) actual: (not (= "4" "1")) lein test :only clojurewerkz.elastisch.native-api.queries.term-query-test/test-basic-term-query-over-non-analyzed-embedded-fields FAIL in (test-basic-term-query-over-non-analyzed-embedded-fields) (term_query_test.clj:59) expected: (is (= "4" (-> (doc/search "tweets" "tweet" :query (q/term "location.state" "Moscow")) hits-from first :_id))) actual: false lein test clojurewerkz.elastisch.native-api.queries.text-query-test lein test clojurewerkz.elastisch.native-api.queries.wildcard-query-test lein test clojurewerkz.elastisch.native-api.search-scroll-test lein test clojurewerkz.elastisch.native-api.search-test lein test clojurewerkz.elastisch.native-api.update-test lein test clojurewerkz.elastisch.query-test lein test clojurewerkz.elastisch.rest-api.bulk-test lein test clojurewerkz.elastisch.rest-api.count-test lein test clojurewerkz.elastisch.rest-api.delete-test lein test clojurewerkz.elastisch.rest-api.facets-test lein test clojurewerkz.elastisch.rest-api.get-test lein test clojurewerkz.elastisch.rest-api.indexing-test lein test clojurewerkz.elastisch.rest-api.indices-test lein test clojurewerkz.elastisch.rest-api.mappings-test lein test clojurewerkz.elastisch.rest-api.more-like-this-test lein test clojurewerkz.elastisch.rest-api.multi-test lein test clojurewerkz.elastisch.rest-api.percolation-test lein test clojurewerkz.elastisch.rest-api.queries.bool-query-test lein test clojurewerkz.elastisch.rest-api.queries.custom-score-query-test lein test clojurewerkz.elastisch.rest-api.queries.field-query-test lein test clojurewerkz.elastisch.rest-api.queries.filtered-query-test lein test clojurewerkz.elastisch.rest-api.queries.flt-field-query-test lein test clojurewerkz.elastisch.rest-api.queries.flt-query-test lein test clojurewerkz.elastisch.rest-api.queries.fuzzy-query-test lein test clojurewerkz.elastisch.rest-api.queries.ids-query-test lein test clojurewerkz.elastisch.rest-api.queries.match-all-query-test lein test clojurewerkz.elastisch.rest-api.queries.mlt-field-query-test lein test clojurewerkz.elastisch.rest-api.queries.mlt-query-test lein test clojurewerkz.elastisch.rest-api.queries.prefix-query-test lein test clojurewerkz.elastisch.rest-api.queries.query-string-query-test lein test clojurewerkz.elastisch.rest-api.queries.range-query-test lein test clojurewerkz.elastisch.rest-api.queries.term-query-test lein test :only clojurewerkz.elastisch.rest-api.queries.term-query-test/test-basic-term-query-over-non-analyzed-usernames FAIL in (test-basic-term-query-over-non-analyzed-usernames) (term_query_test.clj:47) expected: (= "4" (-> (doc/search "tweets" "tweet" :query (q/term :username "michaelklishin")) hits-from first :_id)) actual: (not (= "4" "3")) lein test :only clojurewerkz.elastisch.rest-api.queries.term-query-test/test-basic-term-query-over-non-analyzed-usernames FAIL in (test-basic-term-query-over-non-analyzed-usernames) (term_query_test.clj:47) expected: (is (= "4" (-> (doc/search "tweets" "tweet" :query (q/term :username "michaelklishin")) hits-from first :_id))) actual: false lein test :only clojurewerkz.elastisch.rest-api.queries.term-query-test/test-basic-term-query-over-non-analyzed-embedded-fields FAIL in (test-basic-term-query-over-non-analyzed-embedded-fields) (term_query_test.clj:57) expected: (= "4" (-> (doc/search "tweets" "tweet" :query (q/term "location.state" "Moscow")) hits-from first :_id)) actual: (not (= "4" "1")) lein test :only clojurewerkz.elastisch.rest-api.queries.term-query-test/test-basic-term-query-over-non-analyzed-embedded-fields FAIL in (test-basic-term-query-over-non-analyzed-embedded-fields) (term_query_test.clj:57) expected: (is (= "4" (-> (doc/search "tweets" "tweet" :query (q/term "location.state" "Moscow")) hits-from first :_id))) actual: false lein test clojurewerkz.elastisch.rest-api.queries.text-query-test lein test clojurewerkz.elastisch.rest-api.queries.wildcard-query-test lein test clojurewerkz.elastisch.rest-api.search-scroll-test lein test clojurewerkz.elastisch.rest-api.search-test lein test clojurewerkz.elastisch.rest-api.update-test lein test clojurewerkz.elastisch.test.helpers Ran 210 tests containing 1338 assertions. 8 failures, 1 errors. Tests failed. |
I've released |
Currently the format of hits differs between rest and native in regard to the "fields"-key: native uses ":_fields" and rest uses ":fields".
I propose both to use ":fields".
To reproduce that issue:
Change https://github.com/clojurewerkz/elastisch/blob/master/src/clojurewerkz/elastisch/native/conversion.clj#L535
PS: I was about to write a complete test-case and pull-request accordingly, but since I couldn't get the tests to run, I hope this is sufficient :)
The text was updated successfully, but these errors were encountered: