Skip to content

Instantly share code, notes, and snippets.

View dainiusjocas's full-sized avatar
:octocat:
editing status

Dainius Jocas dainiusjocas

:octocat:
editing status
View GitHub Profile
@dainiusjocas
dainiusjocas / with_err_str.clj
Created October 26, 2022 06:56
with-err-str
(ns lt.jocas.utils.with-err-str
(:import (java.io PrintStream ByteArrayOutputStream PrintWriter)))
(set! *warn-on-reflection* true)
(defmacro with-err-str
"Evaluates exprs in a context in which *err* is bound to a fresh
PrintWriter. Returns the string created by any nested error printing
calls."
[& body]
@dainiusjocas
dainiusjocas / gist:a078696e296a057d5ec11660765dc69c
Created February 25, 2022 18:42
Clojure non-primitive array type hint
#^"[Lorg.apache.lucene.document.Document;"
@dainiusjocas
dainiusjocas / semantic-search.kibana
Created October 4, 2021 14:30
Semantic search Kibana session
DELETE semantic-search
PUT semantic-search
{
"settings": {
"analysis": {
"filter": {
"synonym_graph": {
"type": "synonym_graph",
"lenient": false,
"expand": false,
@dainiusjocas
dainiusjocas / gist:bf54cfb955a1e378c477063735e3611e
Last active April 14, 2021 06:25
Elasticsearch multiplexer token filter
PUT /multiplexer_example
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "standard",
"filter": [ "my_multiplexer" ]
}
},
@dainiusjocas
dainiusjocas / README.md
Last active March 24, 2021 18:54
Ruby Percolator based on Lucene Grep example
@dainiusjocas
dainiusjocas / graalvm-js-multihtreaded-locking.clj
Created March 12, 2021 11:32
GraalVM Javascript context locking to enable multithreaded access
(import (org.graalvm.polyglot Value Context HostAccess)
(java.util Map)
(org.graalvm.polyglot.proxy ProxyObject))
(let [js-fn-constructor (fn [^String script]
(let [^Context ctx (.build (Context/newBuilder (into-array String ["js"])))
^Value f (.eval ctx "js" script)]
(fn [value]
(locking ctx
(.execute f (object-array [value]))))))
DELETE dismax-demo
PUT dismax-demo
{
"mappings": {
"properties": {
"category": {
"type": "text"
}
}
}
@dainiusjocas
dainiusjocas / phrase_queries_with_shingles.kibana
Created February 24, 2021 16:15
Phrase query examples when implemented as shingles
DELETE /phrases-shingle-example
PUT /phrases-shingle-example
{
"settings": {
"analysis": {
"filter": {
"my_shingle_filter": {
"type": "shingle",
"min_shingle_size": 2,
#!/bin/sh
bb -e '(import java.util.UUID)(println (str (UUID/randomUUID)))'
version: '2'
services:
kibana:
build: kb-docker/.
expose:
- "5601"
ports:
- "5601:5601"
environment:
SERVER_HOST: "0.0.0.0"