All tests pass again.

This commit is contained in:
2023-03-20 15:59:57 -07:00
parent 9260834135
commit 1497549d64
6 changed files with 2092 additions and 47 deletions

View File

@@ -129,28 +129,18 @@
allowance
search-pattern)
(sequence xform))
(->> (dc/q '[:find ?n (pull ?i pattern) ?s
:in $ ?q ?allowance pattern
:where [(fulltext $ :account/search-terms ?q) [[?i ?n _ ?s]]]
[?i :account/numeric-code ?numeric-code]
(or [?i :account/applicability :account-applicability/global]
[?i :account/applicability :account-applicability/optional])]
(->> (dc/q '[:find ?n (pull ?i pattern) ?s
:in $ [[?i ?n ?s]] pattern
:where (or [?i :account/applicability :account-applicability/global]
[?i :account/applicability :account-applicability/optional])]
(dc/db conn)
query
allowance
(search/search {:q query} "account")
search-pattern)
(concat (when client
(dc/q '[:find ?n (pull ?a pattern) ?s
:in $ ?c ?q ?allowance pattern
:where
[?i :account-client-override/client ?c]
[(fulltext $ :account-client-override/search-terms ?q) [[?i ?n _ ?s]]]
[?a :account/client-overrides ?i]
[?a :account/numeric-code ?numeric-code]]
(dc/q '[:find ?n (pull ?i pattern) ?s
:in $ [[?i ?n ?s]] pattern]
(dc/db conn)
client
query
allowance
(search/search {:q query :client (str client)} "account-client-override")
search-pattern)))
(sort-by (comp - last))
(sequence xform)))
@@ -166,6 +156,7 @@
(dc/db conn)))
:when (:account/numeric-code (:account/_client-overrides result))]
{:id (:db/id (:account/_client-overrides result))
:account-client-override-id (:db/id result)
:text (:account-client-override/search-terms result)
:client (str (:db/id (:account-client-override/client result)))
:numeric-code (:account/numeric-code (:account/_client-overrides result))

View File

@@ -1,4 +1,5 @@
(ns auto-ap.search
(:require [config.core :refer [env]])
(:import
(java.nio.file Paths)
(org.apache.lucene.analysis.standard StandardAnalyzer)
@@ -9,7 +10,7 @@
(org.apache.lucene.store FSDirectory)))
(defn full-index-query [results index-name]
(let [directory (FSDirectory/open (Paths/get (java.net.URI. (str "file:///tmp/" index-name))))
(let [directory (FSDirectory/open (Paths/get (java.net.URI. (str "file:///tmp/search" (:dd-env env) "/" index-name))))
analyzer (StandardAnalyzer.)
index-writer-config (IndexWriterConfig. analyzer)
index-writer (IndexWriter. directory index-writer-config)]
@@ -52,20 +53,21 @@
([n index-name]
(search n index-name []))
([n index-name other-keys]
(let [directory (FSDirectory/open (Paths/get (java.net.URI. (str "file:///tmp/" index-name))))
(let [directory (FSDirectory/open (Paths/get (java.net.URI. (str "file:///tmp/search" (:dd-env env) "/" index-name))))
index-reader (DirectoryReader/open directory)
index-searcher (IndexSearcher. index-reader)]
(for [x (seq (.scoreDocs (.search index-searcher (make-query n) 10)))]
(into
[(.get (.doc index-searcher (.-doc x)) "id")
(.get (.doc index-searcher (.-doc x)) "name")]
[(Long/parseLong (.get (.doc index-searcher (.-doc x)) "id"))
(.get (.doc index-searcher (.-doc x)) "name")
(.-score x)]
(map (fn [o]
(.get (.doc index-searcher (.-doc x)) o))
other-keys)))))
)
(defn search-ids [n index-name]
(let [directory (FSDirectory/open (Paths/get (java.net.URI. (str "file:///tmp/" index-name))))
(let [directory (FSDirectory/open (Paths/get (java.net.URI. (str "file:///tmp/search" (:dd-env env) "/" index-name))))
index-reader (DirectoryReader/open directory)
index-searcher (IndexSearcher. index-reader)]
(for [x (seq (.scoreDocs (.search index-searcher (make-query n) 100)))]