v0.3.0
Breaking Change
Because of the new full-text index analyzers, this database requires this minimal connection opts to be used:
(require '[datalevin.interpret :refer [inter-fn]])
(defn merge-tokenizers
"Merges the results of tokenizer a and b into one sequence."
[tokenizer-a tokenizer-b]
(inter-fn [^String s]
(into (sequence (tokenizer-a s))
(sequence (tokenizer-b s)))))
(def conn-opts
(let [query-analyzer (su/create-analyzer
{:tokenizer (merge-tokenizers
(inter-fn [s] [[s 0 0]])
(su/create-regexp-tokenizer #"[\s:/\.;,!=?\"'()\[\]{}|<>&@#^*\\~`\-]+"))
:token-filters [su/lower-case-token-filter]})]
{:search-domains {"project-name" {:query-analyzer query-analyzer}
"namespace-name" {:query-analyzer query-analyzer}
"definition-name" {:query-analyzer query-analyzer}}}))
(d/get-conn "path/to/db" nil conn-opts)What's Changed
- fix: consider full symbol as index by @rafaeldelboni in #16
Full Changelog: v0.2.1...v0.3.0