Release notes

Release notes #

Information about release notes of INFINI Pizza is provided here.

Latest #

Breaking changes #

Features #

Bug fix #

Improvements #

0.1.0 #

Hello World, Hello Pizza!

Features #

  • Basic distributed capabilities and metadata management:
    • Basic cluster catalog metadata management
    • Metadata synchronization based on the Raft protocol
    • RPC communication using Cap’n Proto (Capnp)
    • Multi-region support for large cluster organization
  • Text analysis engine:
    • Built-in standard analyzer with configurable stopwords
    • Support for Europe, CJK, and emoji wide UTF-8 characters in the standard analyzer
    • Built-in whitespace analyzer
    • Built-in lowercase/uppercase normalizer and token filter
  • Field-level storage extensions:
    • In-memory inverted index structure
    • BKDTree for numbers and geospatial information
    • Bitset for boolean types
    • Basic local file system persistence support
  • Vectorized query engine:
    • Full compatibility with Lucene Query syntax
    • Full compatibility with Elasticsearch QueryDSL syntax
    • BM25 scoring algorithm
    • Cross-field and multi-field combined queries
    • Simple query execution explain
  • Supported field types:
    • Keyword
    • Text
    • Integer (i32)
    • BigInt (i64)
    • SmallInt (i16)
    • TinyInt (i8)
    • UnsignedInteger (u32)
    • UnsignedBigInt (u64)
    • UnsignedSmallInt (u16)
    • Byte (u8)
    • Float (f32)
    • Double (f64)
    • Boolean
    • Array
    • Object
  • Supported query types:
    • Match Query
    • Match_all Query
    • Term Query
    • Phrase Query
    • Range Query
    • Boolean Query
    • Prefix Query
    • Fuzzy Query
  • Plugins/tools/extensions:

Commit logs #

  • medcl: docs: update developing docs
  • GitHub: chore: add licensure.yml (#508)
  • GitHub: feat: allow customize the stopwords for standard tokenizer (#506)
  • GitHub: chore: don’t pre sync external repos for build-tools (#507)
  • GitHub: feat: detect failed follower and hanlde it (#496)
  • GitHub: chore: make Clippy ignore generated code (#505)
  • GitHub: refactor: refactoring lib common, move timestamp to pizza’s core (#503)
  • GitHub: chore: add a query test (#502)
  • GitHub: feat: standard tokenizer support handle CJK characters (#501)
  • GitHub: chore: update justfile (#500)
  • GitHub: feat: allow to register token filter (#499)
  • GitHub: refactor: optimize iterators (#492)
  • GitHub: docs: update references about how to reduce the binary size (#497)
  • GitHub: fix: make the mapping returned from region API ordered (#498)
  • GitHub: feat: add docsearch to website (#493)
  • GitHub: chore: add contrib to project (#494)
  • GitHub: fix: don’t allocate replicas of same shard on same node (#495)
  • GitHub: tests: test GET/PUT region settings APIs (#491)
  • GitHub: feat: support fetch source for search result (#490)
  • GitHub: fix: topk should update the score_threshold (#489)
  • GitHub: refactor: shrink dependences (#488)
  • GitHub: feat: impl get/update region settings API (#456)
  • GitHub: chore: remove unused depends in Cargo.toml (#487)
  • GitHub: feat: add BM25 to search scoring (#486)
  • GitHub: chore: remove libc_println (#485)
  • GitHub: test: refactoring benches for indexing numbers/text (#484)
  • GitHub: feat: implement upsert operation in BKDTree (#483)
  • GitHub: feat: initial support for Fuzzy Query (#482)
  • GitHub: refactor: reorganize benchmarking code (#479)
  • GitHub: feat: add bkdtree as number’s field store (#465)
  • GitHub: chore: add .licensure.yml file (#475)
  • GitHub: chore: remove unsed feature flag (#477)
  • GitHub: feat: support wide range of UTF-8 characters in parser (#476)
  • GitHub: feat: add total_hits to search result (#472)
  • GitHub: docs: add benchmarks link to website[skip ci] (#471)
  • GitHub: chore: update git configs (#470)
  • GitHub: chore: update LICENSE (#469)
  • GitHub: test: add more query tests (#468)
  • GitHub: fix: handle field store or shema missing (#467)
  • GitHub: chore: optimize iterators (#466)
  • GitHub: refactor: try not to collect() in inverted index (#463)
  • GitHub: test: bench more query types (#464)
  • GitHub: chore: don’t leak TOKEN while run bencher (#462)
  • GitHub: chore: add bencher-engine to justfile (#461)
  • GitHub: test: add boolean_match to bench boolean fields (#460)
  • GitHub: chore: add wasm to contrib (#459)
  • GitHub: refactor: try not to collect() when constructing VectorIterator (#458)
  • GitHub: chore: pretty explains output (#457)
  • GitHub: feat: add in_memory bitset store for boolean fields (#454)
  • GitHub: chore: fix bencher build (#455)
  • GitHub: refactor: refactoring store trait (#453)
  • GitHub: chore: fix engine build (#451)
  • GitHub: chore: specify an exact version of the Bencher CLI (#450)
  • GitHub: chore: update github actions (#449)
  • GitHub: test: add continuous benchmarking action to CI (#448)
  • GitHub: chore: include stemmers as contrib crate (#447)
  • GitHub: refactor: refactoring analysis modules (#446)
  • GitHub: refactor: let metadata watcher thread see membership change && cache is_current_node_leader there (#445)
  • GitHub: docs: update engine’s README (#442)
  • GitHub: refactor: refactoring tools (#441)
  • GitHub: refactor: refactoring the analysis trait (#440)
  • GitHub: feat: add wal to engine (#439)
  • GitHub: test: test our log/state-machine impl with Openraft log test suite (#438)
  • GitHub: refactor: re-use TCP connection by caching clients in ConnPool (#437)
  • GitHub: refactor: apply clippy rules (#436)
  • GitHub: refactor: handle error for invalid query (#435)
  • GitHub: refactor: query engine vectorization (#432)
  • GitHub: chore: fix the build on macOS (#434)
  • GitHub: refactor: run Openraft on Monoio (#433)
  • GitHub: refactor: use flush_async() so that we won’t block when appending raft logs (#431)
  • GitHub: chore: bump Openraft to latest commit (#430)
  • GitHub: fix: do not send catalog changes that are used to restore catalog from disk (#429)
  • GitHub: feat: GET /collections/_rollings support (#427)
  • GitHub: feat: add rolling/index info to region/cluster state APIs (#426)
  • GitHub: feat: implement cluster/region health APIs (#425)
  • GitHub: feat: support ‘names’ parameter in cluster/region state APIs (#424)
  • GitHub: refactor: return number_of_replicas in cluster state and get collection APIs (#423)
  • Medcl: docs: update reference
  • Medcl: feat: support replica shards at metadata level
  • Medcl: refactor: remove lock from invert index
  • Medcl: chore: update query explains
  • Medcl: chore: update field property to enable realtime by default
  • GitHub: docs: update docs (#421)
  • GitHub: feat: implement arena for efficient memory reuse (#420)
  • GitHub: fix: handle multi-fields in phrase query (#418)
  • GitHub: test: add more query tests (#413)
  • GitHub: refactor: refactoring pizza query engine (#417)
  • GitHub: docs: add profiling tips for macOS (#416)
  • GitHub: feat: even shards between nodes when allocating them (#414)
  • GitHub: refactor: separate MetadataRequest and InnerMetadataRequest (#412)
  • GitHub: refactor: eagerly allocate Rolling and shards (#411)
  • GitHub: refactor: put shard in routing_node even it is unassigned (#410)
  • GitHub: docs: remove API suffix from doc title (#409)
  • GitHub: feat: put unassigned shards in RoutingNode.unassigned (#407)
  • GitHub: feat: add metadata RoutingNodes and RoutingNode (#408)
  • GitHub: feat: add a coll setting to specify shard amount & partitions sharding strategy (#405)
  • GitHub: feat: add 1 catalog watcher thread per node (#402)
  • GitHub: test: ignore index_document test (#403)
  • GitHub: feat: add a add_shard metadata request (#401)
  • GitHub: feat: index put/delete/get APIs (#400)
  • GitHub: feat: define index metadata & internal create/remove API (#399)
  • GitHub: fix: retry if network error occurred in Raft RPC requests (#398)
  • GitHub: feat: support common queres in engine (#397)
  • GitHub: fix: region ID will be updated every time you restart Pizza (#396)
  • GitHub: fix: function is_system_reserved_simple() by using absolute path (#395)
  • GitHub: fix: don’t initialize raft if it is initialized (#393)
  • GitHub: feat: get collection and its schema/settings/index API (#390)
  • GitHub: chore: add check on documents for new feat in PR template (#392)
  • GitHub: chore: fix justfile loadgen install instructions (#391)
  • GitHub: chore: unify toolchain and pin it to nightly-2024-06-06 (#389)
  • GitHub: refactor: remove macro define_impl_state_machine (#388)
  • GitHub: chore: remove unneeded deps and remove fixed FIXMEs (#387)
  • GitHub: refactor: remove unused tokio runtime threads (#384)
  • GitHub: refactor: refactoring pizza engine (#376)
  • GitHub: docs: update sharding docs (#383)
  • GitHub: refactor: init the Pizza.nodes field (#382)
  • GitHub: feat: use CapN protocol/RPC for cluster communication (#378)
  • GitHub: test: add multiple nodes test (#380)
  • GitHub: docs: update diagram of realtime docs #372
  • GitHub: chore(deps): bump Openraft to 0.9.9 (#377)
  • GitHub: style: imports at item level (#375)
  • GitHub: chore: add place holders (#374)
  • GitHub: chore: cp cli to bin under the release profile
  • GitHub: refactor: move protocols to transport (#367)
  • GitHub: docs: update pizza docs (#369)
  • GitHub: test: move loadgen config to tests folder (#370)
  • GitHub: chore: capnp boilerplate code, misc fix (#368)
  • GitHub: feat: add cluster health api (#366)
  • GitHub: refactor: rename module api to gateway (#365)
  • GitHub: doc: refine contributing docs (#364)
  • GitHub: refactor: refactoring thread per core (#361)
  • GitHub: build(deps): bump h2 from 0.3.25 to 0.3.26 (#362)
  • GitHub: chore: fix github ci action (#363)
  • Steve Lau: refactor: raft module
  • medcl: feat: cluster state API (#358) Co-authored-by: Steve Lau Co-committed-by: Steve Lau
  • SteveLauC: refactor: refactoring pizza modules (#353) Co-authored-by: medcl Co-committed-by: medcl
  • SteveLauC: feat: uniform UUID types (#355) Co-authored-by: Loi Chyan Co-committed-by: Loi Chyan
  • SteveLauC: refactor: document RPC (#354) Co-authored-by: Loi Chyan Co-committed-by: Loi Chyan
  • SteveLauC: feat: add CLI for better API interaction (#352)
  • SteveLauC: feat: add/remove host (#348) Co-authored-by: Loi Chyan Co-committed-by: Loi Chyan
  • SteveLauC: refactor: replace define_rpc with define_state_machine (#351) Co-authored-by: Loi Chyan Co-committed-by: an
  • SteveLauC: refactor: remove assocated error type of generated state machine trait (#349) Co-authored-by: Loi Chyan itted-by: Loi Chyan
  • Loi Chyan: ci: update cache steps
  • Steve Lau: refactor: refactoring namespace APIs
  • SteveLauC: feat: shard routing (#346) Co-authored-by: Loi Chyan Co-committed-by: Loi Chyan
  • SteveLauC: refactor/define-state-machine (#347) Co-authored-by: Loi Chyan Co-committed-by: Loi Chyan
  • SteveLauC: chore: cleanup logging messages (#345)
  • SteveLauC: fix(raft): check initialized state before initialization (#342) Co-authored-by: Loi Chyan Co-committed-by: Loi
  • SteveLauC: refactor(metadata): add shard-level schema (#339) Co-authored-by: Loi Chyan Co-committed-by: Loi Chyan
  • SteveLauC: refactor: rename global_region to upstream_region (#340) Co-authored-by: medcl Co-committed-by: medcl
  • SteveLauC: chore: misc changes (#336) Co-authored-by: medcl Co-committed-by: medcl
  • SteveLauC: refactor: remove unnecessary fields of DocLocation (#337) Co-authored-by: Loi Chyan Co-committed-by: Loi
  • Steve Lau: fix: correct collection workdir
  • SteveLauC: fix(modules): module started first should be stopped last (#332) Co-authored-by: Loi Chyan Co-committed-by: an
  • SteveLauC: fix(config): parse override values containing ‘=’ (#331) Co-authored-by: Loi Chyan Co-committed-by: Loi Chyan
  • SteveLauC: feat(cluster): configure CatalogManager node (#330) Co-authored-by: Loi Chyan Co-committed-by: Loi Chyan
  • Loi Chyan: fix(log): tweak default logging filter
  • SteveLauC: feat(cluster): implement catalog cluster (#328) Co-authored-by: Loi Chyan Co-committed-by: Loi Chyan
  • SteveLauC: build(cargo): update dependencies (#329) Co-authored-by: Loi Chyan Co-committed-by: Loi Chyan
  • Loi Chyan: fix(index_doc): do not update schema if the doc to update has not been allocated (#327) Co-authored-by: Steve Lau Co-committed-by: Steve Lau
  • SteveLauC: refactor(metadata): write requests on a dedicated thread (#325)
  • SteveLauC: refactor(metadata): use an immutable map for cheap snapshot building (#323) Co-authored-by: Loi Chyan itted-by: Loi Chyan
  • SteveLauC: feat(metadata): implement Collection::update_schema (#322) Co-authored-by: Loi Chyan Co-committed-by: Loi
  • SteveLauC: feat(metadata): convert all writes to state machine requests (#320) Co-authored-by: Loi Chyan Co-committed-by: an
  • SteveLauC: fix: default methods lifetime workaround (#326)
  • Steve Lau: refactor: use our trait-variant fork that supports defaulted method
  • SteveLauC: chore: add edition config in rustfmt.toml (#321)
  • Loi Chyan: refactor: migrate to OpenRaft v0.9 release
  • medcl: feat: impl from/size (#317) Co-authored-by: Steve Lau Co-committed-by: Steve Lau
  • SteveLauC: docs: remove duplicate field(_version) description (#318)
  • medcl: docs: update pizza references (#308)
  • SteveLauC: feat(raft): implement RPC (#315)
  • SteveLauC: feat(raft): namespace routing table (#311)
  • SteveLauC: fix(config): apply overrides to default value if config file not present (#314)
  • SteveLauC: fix(build): correct schema paths to watch (#313)
  • Steve Lau: refactor: allow PUT method to be used in API index_document
  • SteveLauC: refactor: use trait-variant to rewrite async fn bounds
  • Loi Chyan: fix: correct update URL (#309)
  • SteveLauC: refactor(raft): migrate to openraft v0.9 (#306)
  • medcl: feat: partial update
  • medcl: chore: update repo of service-manager-rs
  • Loi Chyan: feat: doc update by overwriting the previous doc
  • Loi Chyan: fix(metadata): serialization and deserialization mismatch for RollingShards
  • medcl: fix: remove _seq_doc_id from source in the get API (#297) Co-authored-by: Steve Lau Co-committed-by: Steve Lau
  • SteveLauC: chore: add debug log to tracked restore
  • medcl: chore: add docs and website (#295)
  • Steve Lau: test: complete the tests added in last PR
  • Steve Lau: feat: make MemTable predicate support cols that are not used by query
  • Steve Lau: chore(deps): bump datafusion to 36
  • Steve Lau: feat: impl predicate pushdown for MemTable
  • Steve Lau: feat: enable predicate pushdown for ShardTable
  • medcl: feat: add CLI command to operate service (#289)
  • SteveLauC: chore: fix clippy issues
  • SteveLauC: chore: reorder logging message
  • medcl: build: capnp build support (#283) Co-authored-by: Loi Chyan Co-committed-by: Loi Chyan
  • medcl: refactor: restructure data layout
  • medcl: feat: add util to check app instance
  • Loi Chyan: feat: ordered ID in parquet files
  • medcl: test: run each integration test in a clean context
  • medcl: chore(justfile): export variables to sub processes
  • medcl: chore: remove transport_config
  • medcl: feat: add option to network_config
  • medcl: refactor: refactoring for clustering (#281)
  • medcl: fix: improve number parsing for -E option
  • medcl: chore: simplify display for configs
  • medcl: feat: add configs to api module
  • medcl: refactor: move config to core
  • medcl: chore: generate node’s id and name by default
  • medcl: fix: security import
  • medcl: refactor: clustering
  • medcl: feat: add flag to CLI
  • medcl: feat: add util to validate reserved file path (#277)
  • medcl: fix: transport misuse network config
  • medcl: chore: update docs
  • medcl: chore: update cli command tips
  • medcl: chore: skip compile on capnp missing
  • medcl: refactor: rename util to utils
  • medcl: chore: update justfile, add debug flag
  • medcl: feat: add raft module
  • medcl: refactor: refactoring configs
  • medcl: refactor: refactoring api module
  • medcl: refactor: modules go async
  • medcl: chore: add util to flatten yaml
  • medcl: chore: refactoring (#272)
  • medcl: chore: prepare to support Cap’n Proto (#271)
  • medcl: refactor: move cluster to modules (#269)
  • medcl: fix: update loadgen versin in justfile
  • medcl: fix(metadata): ensure initialization is completed before other access (#265) Co-authored-by: Loi Chyan Co-committed-by: Loi Chyan
  • SteveLauC: perf(metadata): add a partiton look up table to rolling metadata (#268)
  • Loi Chyan: feat: shard level query (#266) Co-authored-by: Steve Lau Co-committed-by: Steve Lau
  • SteveLauC: feat(metadata): add a guard to ensure commiting after modification (#264)
  • SteveLauC: refactor: use the sqlparser re-exported by datafusion (#267)
  • SteveLauC: feat(metadata): introduce a new metadata management machanism (#262)
  • Steve Lau: refactor: revert #259
  • Steve Lau: fix: panic in free() & correct the first value
  • Steve Lau: build(deps): pin DataFusion to the commit before PR 5
  • Steve Lau: refactor: store deleted docs at shard level in memory
  • Steve Lau: style: fix cargo doc warnings
  • loichyan: feat: realtime query
  • loichyan: feat: add util to generate random uuid and name (#251)
  • loichyan: refactor: commonly used constants
  • loichyan: refactor: use type String rather than Uuid for shard UUID
  • loichyan: chore: force rm the bin directory in justfile
  • loichyan: docs: improve CONTRIBUTING.md on how to set up Rust
  • loichyan: style: rename serde_json::Value to Json
  • loichyan: fix: wrong merge strategy for NodeKind::Buckets
  • loichyan: build(rust): update toolchain to 1.75.0
  • loichyan: build(cargo): update dependencies
  • loichyan: fix: a wrong assertion
  • loichyan: refactor: commonly used constants
  • loichyan: chore: format justfile
  • loichyan: fix: panic in ‘collect_rows()’ when no data and first recursion gets skipped (#233)
  • loichyan: feat: ensure that RecordBatches from MemTable contain field _id (#232)
  • loichyan: chore: update justfile (#234)
  • loichyan: chore: use nightly only for cargo fmt
  • loichyan: refactor: move common library into lib
  • loichyan: feat: metadata ‘input_file’ for RecordBatch from MemTable
  • loichyan: fix: unit-tests (#226)
  • loichyan: chore: remove wal from .gitignore
  • loichyan: chore: misc changes (#223)
  • loichyan: chore: update justfile (#225)
  • loichyan: feat: make MemTable use the schema stored in the metadata
  • loichyan: fix: the panic in build_tree() when there is no data to query
  • loichyan: fix: correct the WAL cursor file path
  • loichyan: fix: ensure that tasks are completed when stopping runtime
  • loichyan: fix: stop panic ‘Cannot drop a runtime in a context where blocking is not allowed’
  • loichyan: refactor: shard level wal
  • loichyan: feat: add SIGTERM/CtrlBreak to exit signals
  • loichyan: fix(justfile): bump Loadgen to the latest nightly version
  • loichyan: refactor: all in async
  • loichyan: refactor: take &Uuid rather than &str
  • loichyan: refactor: async WAL reader/writer
  • loichyan: feat(bulk): support top level route /_bulk
  • loichyan: chore: lowercase initials for all messages
  • loichyan: fix: deny unknown fields in Deserialize
  • loichyan: ci(check): add clippy check
  • loichyan: fix(clippy): guard across await point
  • loichyan: feat: return a memtable ID after writing WAL entry
  • loichyan: fix(clippy): deny await holding lock
  • loichyan: feat: WAL thread
  • loichyan: feat(justfile): change the default timeout seconds
  • loichyan: fix(justfile): timeout 10s while stopping server
  • loichyan: feat: support MemTable size config
  • loichyan: fix(justfile): use CLI to fetch Git dependencies
  • loichyan: feat(log): support per-module log filtering
  • loichyan: refactor: change children field of AggTree to type IndexMap
  • loichyan: refactor: some clippy warnings
  • loichyan: feat: merge AggTree
  • loichyan: feat(core): add our own Schema type
  • loichyan: docs: update legacy doc comment
  • loichyan: refactor: treat avg aggregation as a multi value agg
  • loichyan: feat: add/sub/div/mul/ord for Data type
  • loichyan: fix(justfile): 10s timeout on server startup
  • loichyan: fix(justfile): dead loop if curl is not installed
  • loichyan: fix(aggregation): support format in date_histogram aggregation
  • loichyan: fix(aggregation): multi values should be put in "values": ...
  • loichyan: style(justfile): format with just --fmt
  • loichyan: chore(justfile): more details in output
  • loichyan: chore: update PR template
  • loichyan: refactor(aggregation): improve construction of AggTree
  • loichyan: fix(justfile): create $prefix before installation
  • loichyan: chore: enable some useful lint rules
  • loichyan: style: shell variables without braces
  • loichyan: chore(justfile): auto download dev dependencies
  • loichyan: feat(api): get document (#170)
  • loichyan: feat: support empty payload (#169)
  • loichyan: chore(justfile): pass positional arguments (#166)
  • loichyan: style: remove trailing whitespace (#165)
  • loichyan: feat: doc removal (#147)
  • loichyan: test: move doc population of test_deletion to pre-test (#164)
  • loichyan: ci: add checks (#160)
  • loichyan: test: test queries using metadata (#161)
  • loichyan: chore: don’t ignore Cargo.lock (#163)
  • loichyan: feat: version API (#162)
  • loichyan: test: doc removal (#158)
  • loichyan: test: add tests for bucket aggregations (#157)
  • loichyan: test: migrate to Loadgen DSL (#145)
  • loichyan: chore: enable undocumented_unsafe_blocks lint (#156)
  • loichyan: feat: our extensions to DataFusion (#154)
  • loichyan: chore: disallow std::path::{Path, PathBuf} (#150)
  • loichyan: refactor: use pub(crate) only for better dead code analysis (#149)
  • loichyan: chore(deps): bump DataFusion to the our latest git fork (#146)
  • loichyan: feat: doc id (#144)
  • loichyan: refactor: rename _custom_id to _key (#142)
  • loichyan: feat(api): define API to delete a document (#141)
  • loichyan: feat(bulk): parse _index as a shortcut for _collection:_namespace (#139)
  • loichyan: feat(api): impl bulk APIs (#137)
  • loichyan: refactor: use as_variant to aviod boilterplate code (#138)
  • loichyan: feat(bulk): parse request body (#135)
  • loichyan: feat: percentile agg (#136)
  • loichyan: fix: UB caused by casting NULL && feat: filter agg (#134)
  • loichyan: refactor: use AggsTree (#131)
  • loichyan: feat(aggregation): serialize aggregation tree (#130)
  • loichyan: refactor(justfile): remove implicit installations (#129)
  • loichyan: feat: AggsTree for date histogram aggregation (#128)
  • loichyan: refactor: partially revert #123 (#127)
  • loichyan: refactor: add default values during deserializing (#126)
  • loichyan: refactor: MetricsResultValue type (#124)
  • loichyan: refactor: use our Data type (#123)
  • loichyan: refactor(aggregation): single-collection-oriented search APIs (#120)
  • loichyan: chore(build): pin Rust toolchain to 1.72.1 (#122)
  • loichyan: feat: our own data type (#121)
  • loichyan: fix(justfile): error occurs if run just pre-test twice (#119)
  • loichyan: fix(error): set http response status code same as body (#118)
  • loichyan: feat(aggregation): parse date_histogram aggregation (#117)
  • loichyan: feat: infer_json_schema supports date type (#116)
  • loichyan: feat(search/agg): AggsTree for terms agg (#106)
  • loichyan: feat: aggregation return type (#114)
  • loichyan: feat: percentiles aggregation (#111)
  • loichyan: chore: justfile fixes and new recipes (#113)
  • loichyan: refactor: replace Path with Utf8Path (#110)
  • loichyan: refactor: improve implementation of ast_eq!() (#109)
  • loichyan: test: aggregation tests (#96)
  • loichyan: test: use jsonstr!() for better readability (#105)
  • loichyan: test: add unit tests for util modules (#46)
  • loichyan: chore(justfile): add a few helper recipes (#107)
  • loichyan: refactor(util): move the util module to the upper level (#103)
  • loichyan: chore: PR template (#104)
  • loichyan: feat: metadata and WAL cursor persistence (#102)
  • loichyan: chore(profile): remove the target-cpu setting (#101)
  • loichyan: feat(aggregation): parse terms and filter aggregation (#99)
  • loichyan: chore(just): update tips in justfile
  • loichyan: chore(build): add release profile, optimize binary size (#94)
  • loichyan: chore(build): auto download binaries based on os (#93)
  • loichyan: feat(query): support arg track_total_hits (#91)
  • loichyan: refactor(search/agg): move agg func to aggregation/mod.rs (#92)
  • loichyan: chore(deps): transfer dep boxcar to the INFINI org (#90)
  • loichyan: refactor: merge all queries (#88)
  • loichyan: test(just): set default value for $PIZZA_SEVER
  • loichyan: feat(aggregation): implement average aggregation (#86)
  • loichyan: fix(loadrun): only set default value of PIZZA_SERVER
  • loichyan: chore(just): rename some recipes
  • loichyan: docs(tests): add guide to get just intalled
  • loichyan: chore(makefile): support make just ...
  • loichyan: fix(makefile): inline recipe name
  • loichyan: chore(makefile): make make a wrapper of just
  • loichyan: fix(makefile): wrong phony targets
  • loichyan: chore(makefile): automatically download just and run it
  • loichyan: chore(justfile): expose some recipes
  • loichyan: chore(flake): add just as inputs
  • loichyan: chore: use justfile instead of Makefile
  • loichyan: chore(makefile): start a development server
  • loichyan: chore(makefile): add scripts to download loadgen/loadrun
  • loichyan: refactor(aggregation): convert [ArrayRef] to a scalar array for aggregation (#85)
  • loichyan: refactor: change select_item() of avg agg (#84)
  • loichyan: feat: Max/Min/Sum aggregation (#82)
  • loichyan: fix: underflow panic in serializing hits when hit value is 0 (#83)
  • loichyan: refactor: change return type of xxx_agg() to Option (#80)
  • loichyan: refactor: enhance value count agg (#79)
  • loichyan: chore: clear clippy
  • loichyan: feat: value count aggregation (#77)
  • loichyan: chore: udeps (#74)
  • loichyan: refactor: full field name (#76)
  • loichyan: feat: enhance the query hits field (#75)
  • loichyan: feat: select item for aggregations (#73)
  • loichyan: feat: where clause for query (#71)
  • loichyan: chore(flake): update Rust toolchain to 1.72
  • loichyan: refactor: change return type of xxx_query() to Vec (#70)
  • loichyan: refactor: change return type of _sql to Vec (#69)
  • loichyan: feat: range-query (#61)
  • loichyan: fix: a typo in unit test (#68)
  • loichyan: feat: in-memory table (#67)
  • loichyan: test(api): add search/query tests
  • loichyan: chore(gitignore): ignore testing logs
  • loichyan: test: use loadrun/loadgen to run integration tests
  • loichyan: test: add some integration tests
  • loichyan: feat(api::search): add aggregation type definitions (#66)
  • loichyan: refactor(api::search): share term definition
  • loichyan: fix: fix dataufion panic when no document exists
  • loichyan: refactor: deny unknown fields while deserializing types (#60)
  • loichyan: refactor: rename Relation to lowercase (#59)
  • loichyan: feat: regexp query (#58)
  • loichyan: feat: prefix query (#57)
  • loichyan: feat: wildcard support for search APIs (#56)
  • loichyan: feat: query-parser (#55)
  • loichyan: fix: Normalize every url (#54)
  • loichyan: fix(error): missing backtrace frames (#52)
  • loichyan: chore: better logging/banner format (#53)
  • loichyan: feat: term query (#44)
  • loichyan: chore: update flake
  • loichyan: feat(macros): support attributes in define_query!()
  • loichyan: refactor(log): migrate log4rs to tracing (#45)
  • loichyan: refactor: new persistence structure (#49)
  • loichyan: chore: bump arrow/arow_schema/datafusion
  • loichyan: refactor: remove db (#47)
  • loichyan: refactor(metadata): per collection schema (#43)
  • loichyan: feat(modules.api): parse term query (#42)
  • loichyan: refactor(error): better stack_trace field (#41)
  • loichyan: refactor(error): module dependent error handling (#40)
  • loichyan: fix(api): unresolved symbol
  • loichyan: refactor(test): remove api test & use #[test] instead of #[tokio::test] for non-async unit test (#38)
  • loichyan: fix: wrong Result type in api/database
  • loichyan: refactor: module-independent error types (#35)
  • loichyan: refactor: better-looking logo (#34)
  • loichyan: chore: optimize binary size (#33)
  • loichyan: test: add missing argument (#32)
  • loichyan: refactor: error handling (#22)
  • loichyan: refactor: fix most clippy warnings
  • loichyan: refactor: doc API return, ‘created’ instead of ‘Created’
  • loichyan: feat: SQL search (#29)
  • loichyan: feat: allow to specify the config file path (#28)
  • loichyan: feat: apply config in trait module (#27)
  • loichyan: feat: log-level supported both in config file and cli (#26)
  • loichyan: refactor: update config (#25)
  • loichyan: refactor: refactor cli part (#24)
  • loichyan: feat: WAL consumer (#23)
  • loichyan: chore: support nix-flake to deploy environment (#21)
  • loichyan: chore: use stable toolchain
  • loichyan: feat: write doc to WAL (#19)
  • loichyan: chore: git ignore wal
  • loichyan: feat: DocumentID (#17)
  • loichyan: chore: git ignore Cargo.lock (#16)
  • loichyan: fix: correct path for wal (#12)
  • loichyan: feat: walkaround to do error handling in route fns (#13)
  • loichyan: update readme
  • loichyan: fix(api): fix conflicting doc API (#10)
  • loichyan: refactor(log): deuglify the log level parsing logic (#9)
  • loichyan: refactor(api): obey the convention (#8)
  • loichyan: update license file
  • loichyan: refactor(metadata): use HashMap instead of Vec
  • loichyan: feat: single file wal (#6)
  • loichyan: add bert module
  • loichyan: pull back changes since API module is blocking the app
  • loichyan: skip data and log
  • loichyan: refactoring data path, prepare workspace during init
  • loichyan: log app starting message
  • loichyan: optimize release build
  • loichyan: handle CLI flags, allow customize logging level
  • loichyan: update tagline
  • loichyan: update default config, prefer to use relative path
  • loichyan: no verbose config onload
  • loichyan: feat: config (#4)
  • loichyan: fix: runtime for API module
  • loichyan: add index api
  • loichyan: add more logs
  • loichyan: update logging message
  • loichyan: tune log4rs format
  • loichyan: update logging
  • loichyan: success init http server
  • loichyan: comment out broken api code
  • loichyan: prefer to init modules in sync way
  • loichyan: fix: dir should be in lowercase
  • loichyan: feat: store data and log in the current directory
  • loichyan: fix: log dir for macOS and Windows
  • loichyan: feat: log
  • loichyan: feat: db/collection/doc creation API
  • loichyan: update readme
  • loichyan: update version
  • loichyan: update readme
  • loichyan: update to v0.1.1
  • loichyan: update readme
  • loichyan: update license identifier
  • loichyan: update Cargo.toml
  • loichyan: add desc to cargo.toml
  • loichyan: add version to common
  • loichyan: fix module start
  • loichyan: refactor: use ctrlc to handle both SIGINT and SIGTERM
  • loichyan: support kill signal
  • loichyan: improve application startup
  • loichyan: refactor: anyhow for error handling & some missing APIs & Aaync Module triat (#1)
  • loichyan: build: remove dep serde_derive as serde already includes that
  • loichyan: build: bump deps
  • loichyan: style: cargo fmt
  • loichyan: move init to another file
  • loichyan: load modules in main
  • loichyan: init module
  • loichyan: update project structure
  • loichyan: update metdata
  • loichyan: update version
  • loichyan: define Metadata
  • loichyan: add ignore .vscode
  • loichyan: rename cargos
  • medcl: init commit
Calendar September 7, 2024
Edit Edit this page