ropensci / elastic

R client for the Elasticsearch HTTP API
https://docs.ropensci.org/elastic
Other
245 stars 58 forks source link

Error in is.url(url) : length(url) == 1 is not TRUE #256

Closed BenoitFayolle closed 5 years ago

BenoitFayolle commented 5 years ago

Hello! Trying to connect to an AWS ES instance.

x<-connect(es_host = myURL, es_path = NULL, 
es_port=NULL, es_transport_schema="https",
es_user=NULL, es_pwd=NULL, errors="complete")
ping()

Returns

... $version $version$number [1] "5.5.2"

$version$build_hash [1] "ba16312"

$version$build_date [1] "2019-04-01T12:37:07.176Z"

$version$build_snapshot [1] FALSE

$version$lucene_version [1] "6.6.0"

$tagline [1] "You Know, for Search"

Looks good!

Search(x, index=index_str, body=query_str) returns

Error in is.url(url) : length(url) == 1 is not TRUE

This problem seems to arise from the construct_url() function which pastes together url, index, type, id , path where type is a named vector of length > 1 containing transport, host, port, path, username, password, errors and headers. I don't understand why it appears here.

Using elastic package version 1.0.0.9100

Session Info ```r R version 3.5.1 (2018-07-02) Platform: x86_64-apple-darwin15.6.0 (64-bit) Running under: macOS High Sierra 10.13.6 Matrix products: default BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib locale: [1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] httr_1.4.0 forcats_0.3.0 stringr_1.3.1 dplyr_0.8.0.1 purrr_0.2.5 readr_1.1.1 tidyr_0.8.2 tibble_2.0.1 ggplot2_3.1.0 [10] tidyverse_1.2.1 elastic_1.0.0.9100 loaded via a namespace (and not attached): [1] tidyselect_0.2.5 remotes_2.0.2 haven_1.1.2 lattice_0.20-35 testthat_2.0.1 colorspace_1.3-2 usethis_1.4.0 base64enc_0.1-3 [9] rlang_0.3.1 pkgbuild_1.0.2 pillar_1.3.1 glue_1.3.0 withr_2.1.2 sessioninfo_1.1.1 modelr_0.1.2 readxl_1.1.0 [17] plyr_1.8.4 munsell_0.5.0 gtable_0.2.0 cellranger_1.1.0 rvest_0.3.2 devtools_2.0.1 memoise_1.1.0 callr_3.0.0 [25] ps_1.2.1 curl_3.3 broom_0.5.0 Rcpp_1.0.1.3 scales_1.0.0 backports_1.1.2 desc_1.2.0 pkgload_1.0.2 [33] jsonlite_1.6 fs_1.2.6 hms_0.4.2 digest_0.6.18 stringi_1.2.4 processx_3.2.0 rprojroot_1.3-2 grid_3.5.1 [41] cli_1.0.1 tools_3.5.1 magrittr_1.5 lazyeval_0.2.1 crayon_1.3.4 pkgconfig_2.0.2 xml2_1.2.0 prettyunits_1.0.2 [49] lubridate_1.7.4 assertthat_0.2.0 rstudioapi_0.10.0-9000 R6_2.4.0 nlme_3.1-137 compiler_3.5.1 ```
sckott commented 5 years ago

thanks for this. can you show the full traceback()?

where type is a named vector of length > 1 containing transport, host, port, path, username, password, errors and headers

i'm not sure I follow. what type are you referring to?

BenoitFayolle commented 5 years ago

Well, I cannot reproduce this bug anymore, everything started working wonderfully this morning for the first time. I tried the CRAN version and reinstalled the dev version of the package, and both work without any pb. The type i was talking about is the 3rd argument of the Search() function. For some reason it was not set to null even though i wasn't specifying it in my Search call. Anyway, I think we can close this. I'll reopen an issue if I bump into something reproducible. Thanks for your work guys!

sckott commented 5 years ago

ok, thanks