【发布时间】:2022-01-08 16:45:26
【问题描述】:
在datomic-free 0.9.5697、clojure 1.10.3 和 openjdk 17.01 上测试。
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
(def db (-> conn d/db delay))
(def schema [{:db/ident :person/name
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one}])
(d/transact conn schema)
(def datoms [{:person/name "Oliver Smith"}])
(d/transact conn datoms)
(def query '[:find ?name
:where
[_ :person/name ?name]])
(-> (d/q query @db) println) ; ok => #{[Oliver Smith]}
(def query '[:find ?name
:where
[(fulltext $ :person/name "Smith") [[_ ?name]]]])
(-> (d/q query @db) println) ; nok => expected: #{[Oliver Smith]}, actual: #{}
为什么上面的fulltext搜索返回空?
【问题讨论】:
-
我认为架构定义缺少
:db/fulltext true以在属性上启用 fulltext indexing。