Fork me on GitHub
#datomic
<
2017-01-16
>
favila15:01:20

@seantempesta yes, :tx-data of tx report queue entries gives you the raw datoms asserted/retracted in the transaction

lellis16:01:15

Hi all, Im having problems with accent's in my querys with fulltext (ex: Pelé not found when search Pele). Its possible to use ASCIIFoldingFilter when search is fulltext? The api doc say "Fulltext search is constrained by several defaults (which cannot be altered)". Adding an ASCIIFoldingFilter to the Lucene Analyser is one of these constrains? ty

robert-stuttaford17:01:29

@lellis i think you’re out of luck; that Lucene is used for fulltext search is an implementation detail. the only api you get is the one in datalog.

lellis18:01:32

@robert-stuttaford Yeah, i found some emails in our group where you clarify this! I m looking for an elasticsearch datomic integration for do these accent insensitive search. You know anything that is better? tks

devth18:01:48

somewhere inside Datomic Map transactions are converted to List form. is this conversion fn accessible?

jdkealy18:01:24

how can i see how many datoms my database has

jdkealy18:01:03

would this be accurate??? (count (vec (d/seek-datoms (db/_d) :avet )))

eoliphant18:01:05

hey guys question. I have yet another ‘tree walk’ question lol. I have a tree structure, built around say a :ent/child ref attribute. Given an entity, I want to grab children to say any depth. I can do this with the pull api’s recursive specs. But in this case I'd really just want the ids/entities in a list as opposed to the nested maps i’ll get back from pull in this case. and I also need to potentially do some filtering on them. So say, all the :ent/child matches for ?e where :ent/foo equals bar as well. Is there any way to do this in datalog?

favila18:01:10

@eoliphant You are aware of this post I where I replied to your original question about tree walking a while ago? https://groups.google.com/d/msg/datomic/_YiBRnBkeOs/0Gd-6lJmDwAJ

eoliphant19:01:04

ah crap you did didn’t you lol. I’ve been covering a lot of groud over the past few weeks. thanks again 😉

favila19:01:55

@eoliphant Your new scenario is different in its particulars but the approach is the same: use a recursive rule

eoliphant19:01:30

yeah and actually rules where i’m a bit weak and focusing more at the moment so this is perfect

favila19:01:15

also notice that you need to know whether you intend to filter children during or after your recursive walk

favila19:01:21

it makes a difference

favila19:01:03

i.e., should the children of non-:ent/foo="bar" be included or not?

eoliphant19:01:08

right, in my case at the moment it would be during

eoliphant19:01:40

does the match failure of a node automatically exclude it’s children or not

favila19:01:47

to filter during I'm pretty sure you need to include the filter inside the rule

eoliphant19:01:49

and i do have another scenario where it will need to be done ‘after'

eoliphant19:01:57

that makes sense

favila19:01:11

to filter after is just another datalog clause appearing after the recursive rule

favila19:01:42

(children ?parent ?child)[?child :ent/foo "bar"]

eoliphant19:01:45

exactly. the results of the tree walk rule just ‘fall’ into the subsequent clauses

eoliphant19:01:04

ok gonna give this a whirl 😉

asolovyov20:01:24

I wonder what's the story with fulltext predicate - is it possible to specify tokenizer? If something I want to search is not in English?

Lambda/Sierra20:01:04

@asolovyov: No, fulltext indexing in Datomic is only supported with the default Lucene tokenizer/analyzer. If you have more specific fulltext search requirements, it is recommended to run your own Lucene/Solr/... for fulltext search.

asolovyov20:01:36

@stuartsierra I see.. eh, too bad, I just grew tired of ElasticSearch (because of unpredictable performance and convoluted queries) and thought maybe I should look elsewhere 🙂

Lambda/Sierra20:01:34

Datomic's fulltext is just Lucene under the hood, so the end result is not much different from running Lucene yourself.

asolovyov20:01:04

well... I do faceted search on top of that, so either I'm doing that by hands, or I should use something which does it for me - and that's ES right now. But could be Datomic, which has a little bit more predictable performance when you're just filtering by field.

pesterhazy21:01:21

also consider algolia if you can use a saas

andyparsons21:01:32

I know this has been asked before (apologies): how can I stop the [Datomic Metrics Reporter] DEBUG datomic.process-monitor messages in the repl?

jaret21:01:24

@andyparsons You need to edit logback.xml and turn down the logging level. If its set to DEBUG it's likely this was changed in the past as I believe logback.xml defaults to INFO. " <logger name="datomic" level="warn" />"

andyparsons21:01:18

ah yes @jaret that makes sense. thanks!