Я пытаюсь найти эластичный поиск clojure API Elastisch.Clojure эластичный поиск API Elastisch не возвращает результаты или документы
Я следовал демо-код, приведенный в документации я получаю документ/индекс, созданный вывод для следующего кода
(defn demo-search-connect []
(esr/connect! "http://127.0.0.1:9200")
(let [mapping-types {:person {:properties {:username {:type "string" :store "yes"}
:first-name {:type "string" :store "yes"}
:last-name {:type "string"}
:age {:type "integer"}
:title {:type "string" :analyzer
"snowball"}
:planet {:type "string"}
:biography {:type "string" :analyzer "snowball" :term_vector "with_positions_offsets"}}}}
doc {:username "happyjoe" :first-name "Joe" :last-name "Smith" :age 30 :title "Teh Boss" :planet "Earth" :biography "N/A"}]
(esi/create "myapp2_development" :mappings mapping-types)
;; adds a document to the index, id is automatically generated by ElasticSearch
;= {:ok true, :_index people, :_type person, :_id "2vr8sP-LTRWhSKOxyWOi_Q", :_version 1}
(println (esd/create "myapp2_development" :person doc :settings {"number_of_shards" 1}))
))
;Supposed to return an output for the search query
(defn demo-search-index []
(esr/connect! "http://127.0.0.1:9200")
(esd/search "myapp2_development" "person" :query {:term {:last_name "Smith"}})
)
;Supposed to return the document with the given id
(defn get-document [id]
(esr/connect! "http://127.0.0.1:9200")
(esd/get "myapp2_development" "person" id)
)
Я получаю выход для первой функции, как:
{:ok true, :_index myapp2_development, :_type :person, :_id GzNdzrqhQECQDlkSbq-GHA, :_version 1}
На выходе я считаю, что документ правильно проиндексирован
Проблема в том, что вторая и третья функции возвращаются:
{:took 153, :timed_out false, :_shards {:total 5, :successful 5, :failed 0}, :hits {:total 0, :max_score nil, :hits []}}
и nil
соответственно.
Что мне здесь не хватает?
P.S: Я новичок в Clojure и упругого поиск
спасибо !!! Это решает. Интересно, почему демо-код в документации имел ключевое слово в виде строки? –
Возможна ошибка с их стороны, или проблема с разными версиями ведет себя по-другому (я использую 1.0.2, и я мог бы повторить ваши проблемы). Они очень полезны в GitHub и в их списке рассылки (https://groups.google.com/forum/#!forum/clojure-elasticsearch), если вы хотите узнать больше. – ponzao