graph { graph [engine:dot rankdir:BT clusterize:false applyCss:dark intention:semi] search -> search__inhouse_search [reverse: false] search__inhouse_search -> search__inhouse_search___search__filter [reverse: false] search *= search__persisten_scratchpads [reverse: false] search *= search__experimental_approaches [reverse: false] search__experimental_approaches *= search__experimental_approaches___search__query_grammar [reverse: false] search__experimental_approaches___search__query_grammar *= search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__larry [reverse: false] search__experimental_approaches___search__query_grammar *= search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__ArangoDB_AQL [reverse: false] search__experimental_approaches___search__query_grammar *= search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__lucene [reverse: false] search__experimental_approaches___search__query_grammar *= search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__Tantivy_query_syntax_per_field_type [reverse: false] search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__Tantivy_query_syntax_per_field_type *= search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__Tantivy_query_syntax_per_field_type___search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__Common_operators_usable_across_field_types [reverse: false] search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__Tantivy_query_syntax_per_field_type *= search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__Tantivy_query_syntax_per_field_type___search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__Example_combined_query [reverse: false] search [z: 9.5 @html: "
search
• https:/autocomplete
• Rerendering Results
(https:/#rerender-example)
• https:/js
• ☑ support incremental results
• better query syntax: ./test-lucene.mjs
• lucene-query-parser?
• nemusi byt realtime
• kludne len ripgrep, ast-grep
• clean solution by bolo ast-lake
" nomen: "search"] search__inhouse_search [z: 4.75 @html: "
inhouse search
• glass search we already have
• sqlite based works well enough
• ast-lake involved
" nomen: "inhouse search"] search__inhouse_search___search__filter [z: 2.375 @html: "
filter
• ast-lake: nodes should be subject of
search
• we need enforce a reference
• repo search: would be really good to
search for content of files...
• napr: line: pattern => najde papers s tym stringom
• da sa na to pouzit sqlite
• niekde mam dokonca lucene to sqlite
• databox-libs/nodejs/atom/text/lucene-sqlite.mjs
•  @dashboard moze byt vlastne aj log/chat
• alebo :rc 
• sqlite LIKE, GLOB alebo fulltext...
• TODO see glass-search.js 
" nomen: "filter"] search__persisten_scratchpads [z: 4.75 @html: "
persisten scratchpads
• nech search produkuje mdd file s
tabulkov linkov
• moze to byt nieco ako scrachpad-file
• tym padom moze byt persistent, ale aj
editable
" nomen: "persisten scratchpads"] search__experimental_approaches [z: 4.75 @html: "
experimental approaches
• extreme: ripgrep, ast-grep
• ☐ https:/tantivy-cli
super!
" nomen: "experimental approaches"] search__experimental_approaches___search__query_grammar [z: 2.375 @html: "
query grammar
• choose one
" nomen: "query grammar"] search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__larry [z: 1.1875 @html: "
larry
• sexp: see ssss.sexp() 
• highlite
• https:/highlight-in-textarea.js
• https:/691baba1-a9f0-8325-b7dd-f5
" nomen: "larry"] search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__ArangoDB_AQL [z: 1.1875 @html: "
ArangoDB AQL
• https:/aql-parser
• pozri toto:
https:/repositories
• maju vela zaujimavych veci...

 FOR p IN products FILTER p.price
> 20 RETURN { name: p.name,
meta: { category: p.category,
tags: ( FOR t IN p.tags
FILTER t.status == "active"
RETURN { id: t.id, label: t.label }
) } } 

• Jsonnet

 products【$price > 20】{
"name": name,
"meta": {
"category": category,
"tags":
tags【status="active"】.{
"id": id,
"label": label } }

• Falcor JSONGraph
• https:/falcor-json-graph
• Pipelined Relational Query Language,
pronounced “Prequel”
• https:/prql-lang.org
• https:/book
• works with DuckDb
• https:/duckdb-prql
• https:/dhall-lang.org
• https:/nickel
" nomen: "ArangoDB AQL"] search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__lucene [z: 1.1875 @html: "
lucene
" nomen: "lucene"] search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__Tantivy_query_syntax_per_field_type [z: 1.1875 @html: "
Tantivy query syntax per field type
• super works.
Field typeSupported query formsExample syntax
Text / Str TermQuery(exact term) <br>PhraseQuery(exact phrase) <br>PrefixQuery(term prefix) <br>WildcardQuery( * / ? ) <br>FuzzyQuery( ~N distance) <br>RegexQuery( /regex/ ) <br>RangeQuery(lexicographic) title:rust <br> title:"fast async" <br> title:prog* <br> title:te?t <br> title:rust~2 <br> title:/^rust/ <br> title:【a TO m】 
U64 / I64 / I128 TermQuery(exact number) <br>RangeQuery(inclusive/exclusive) views:1000 <br> views:【500 TO 2000】 <br> views:{500 TO 2000} (exclusive)
F64 TermQuery(exact floating value) <br>RangeQuery(inclusive/exclusive) price:19.99 <br> price:【10.0 TO 30.0】 
Date ( DateTime stored as timestamp)TermQuery(exact timestamp) <br>RangeQuery(ISO‑8601 or Unix ms) published:2023-05-01T00:00:00Z <br> published:【2023-01-01 TO
2023-12-31】 
Bool TermQuery( true / false ) is_public:true 
Facet FacetTermQuery(exact facet) <br>FacetPrefixQuery(drill‑down) category:"/technology/programming" <br> category:/technology/ (prefix)
Bytes (raw binary)OnlyTermQueryon the exact byte sequence (usually not
used in user‑facing queries)
 blob:"\\x01\\xff" 
Json (nested)Queries are expressed on the flattened
field name; same grammar as the
underlying primitive type.
 metadata.author:"Alice" <br> metadata.rating:【4 TO 5】 
" nomen: "Tantivy query syntax per field type"] search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__Tantivy_query_syntax_per_field_type___search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__Common_operators_usable_across_field_types [z: 0.59375 @html: "
Common operators usable across field
types

OperatorMeaning
 AND / && Both sub‑queries must match.
 OR / `
 NOT / ! Excludes matches of the right‑hand side.
 + (must)Same as AND for the following term.
 - (must‑not)Same as NOT for the following term.
Parentheses (  ) Group sub‑expressions.
 field:query Restricts query to a specific field. If omitted, the
default fields set in QueryParser are used.
" nomen: "Common operators usable across field types"] search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__Tantivy_query_syntax_per_field_type___search__experimental_approaches___search__query_grammar___search__experimental_approaches___search__Example_combined_query [z: 0.59375 @html: "
Example combined query

 title:"async rust" AND
views:【1000 TO 5000】 AND
category:/technology/programming/ 

" nomen: "Example combined query"] }