mirror of
https://github.com/quickwit-oss/tantivy.git
synced 2025-12-23 02:29:57 +00:00
Rename quickwit-inc -> quickwit-oss
This commit is contained in:
10
CHANGELOG.md
10
CHANGELOG.md
@@ -1,12 +1,12 @@
|
|||||||
Tantivy 0.17
|
Tantivy 0.17
|
||||||
================================
|
================================
|
||||||
- LogMergePolicy now triggers merges if the ratio of deleted documents reaches a threshold (@shikhar @fulmicoton) [#115](https://github.com/quickwit-inc/tantivy/issues/115)
|
- LogMergePolicy now triggers merges if the ratio of deleted documents reaches a threshold (@shikhar @fulmicoton) [#115](https://github.com/quickwit-oss/tantivy/issues/115)
|
||||||
- Adds a searcher Warmer API (@shikhar @fulmicoton)
|
- Adds a searcher Warmer API (@shikhar @fulmicoton)
|
||||||
- Change to non-strict schema. Ignore fields in data which are not defined in schema. Previously this returned an error. #1211
|
- Change to non-strict schema. Ignore fields in data which are not defined in schema. Previously this returned an error. #1211
|
||||||
- Facets are necessarily indexed. Existing index with indexed facets should work out of the box. Index without facets that are marked with index: false should be broken (but they were already broken in a sense). (@fulmicoton) #1195 .
|
- Facets are necessarily indexed. Existing index with indexed facets should work out of the box. Index without facets that are marked with index: false should be broken (but they were already broken in a sense). (@fulmicoton) #1195 .
|
||||||
- Bugfix that could in theory impact durability in theory on some filesystems [#1224](https://github.com/quickwit-inc/tantivy/issues/1224)
|
- Bugfix that could in theory impact durability in theory on some filesystems [#1224](https://github.com/quickwit-oss/tantivy/issues/1224)
|
||||||
- Schema now offers not indexing fieldnorms (@lpouget) [#922](https://github.com/quickwit-inc/tantivy/issues/922)
|
- Schema now offers not indexing fieldnorms (@lpouget) [#922](https://github.com/quickwit-oss/tantivy/issues/922)
|
||||||
- Reduce the number of fsync calls [#1225](https://github.com/quickwit-inc/tantivy/issues/1225)
|
- Reduce the number of fsync calls [#1225](https://github.com/quickwit-oss/tantivy/issues/1225)
|
||||||
|
|
||||||
Tantivy 0.16.2
|
Tantivy 0.16.2
|
||||||
================================
|
================================
|
||||||
@@ -128,7 +128,7 @@ Tantivy 0.12.0
|
|||||||
## How to update?
|
## How to update?
|
||||||
|
|
||||||
Crates relying on custom tokenizer, or registering tokenizer in the manager will require some
|
Crates relying on custom tokenizer, or registering tokenizer in the manager will require some
|
||||||
minor changes. Check https://github.com/quickwit-inc/tantivy/blob/main/examples/custom_tokenizer.rs
|
minor changes. Check https://github.com/quickwit-oss/tantivy/blob/main/examples/custom_tokenizer.rs
|
||||||
to check for some code sample.
|
to check for some code sample.
|
||||||
|
|
||||||
Tantivy 0.11.3
|
Tantivy 0.11.3
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ license = "MIT"
|
|||||||
categories = ["database-implementations", "data-structures"]
|
categories = ["database-implementations", "data-structures"]
|
||||||
description = """Search engine library"""
|
description = """Search engine library"""
|
||||||
documentation = "https://docs.rs/tantivy/"
|
documentation = "https://docs.rs/tantivy/"
|
||||||
homepage = "https://github.com/quickwit-inc/tantivy"
|
homepage = "https://github.com/quickwit-oss/tantivy"
|
||||||
repository = "https://github.com/quickwit-inc/tantivy"
|
repository = "https://github.com/quickwit-oss/tantivy"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
keywords = ["search", "information", "retrieval"]
|
keywords = ["search", "information", "retrieval"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
@@ -95,9 +95,6 @@ unstable = [] # useful for benches.
|
|||||||
[workspace]
|
[workspace]
|
||||||
members = ["query-grammar", "bitpacker", "common", "fastfield_codecs", "ownedbytes"]
|
members = ["query-grammar", "bitpacker", "common", "fastfield_codecs", "ownedbytes"]
|
||||||
|
|
||||||
[badges]
|
|
||||||
travis-ci = { repository = "tantivy-search/tantivy" }
|
|
||||||
|
|
||||||
# Following the "fail" crate best practises, we isolate
|
# Following the "fail" crate best practises, we isolate
|
||||||
# tests that define specific behavior in fail check points
|
# tests that define specific behavior in fail check points
|
||||||
# in a different binary.
|
# in a different binary.
|
||||||
|
|||||||
23
README.md
23
README.md
@@ -1,22 +1,13 @@
|
|||||||
|
|
||||||
[](https://docs.rs/crate/tantivy/)
|
[](https://docs.rs/crate/tantivy/)
|
||||||
[](https://github.com/quickwit-inc/tantivy/actions/workflows/test.yml)
|
[](https://github.com/quickwit-oss/tantivy/actions/workflows/test.yml)
|
||||||
[](https://codecov.io/gh/quickwit-inc/tantivy)
|
[](https://codecov.io/gh/quickwit-oss/tantivy)
|
||||||
[](https://discord.gg/MT27AG5EVE)
|
[](https://discord.gg/MT27AG5EVE)
|
||||||
[](https://opensource.org/licenses/MIT)
|
[](https://opensource.org/licenses/MIT)
|
||||||
[](https://crates.io/crates/tantivy)
|
[](https://crates.io/crates/tantivy)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[](https://sourcerer.io/fame/fulmicoton/tantivy-search/tantivy/links/0)
|
|
||||||
[](https://sourcerer.io/fame/fulmicoton/tantivy-search/tantivy/links/1)
|
|
||||||
[](https://sourcerer.io/fame/fulmicoton/tantivy-search/tantivy/links/2)
|
|
||||||
[](https://sourcerer.io/fame/fulmicoton/tantivy-search/tantivy/links/3)
|
|
||||||
[](https://sourcerer.io/fame/fulmicoton/tantivy-search/tantivy/links/4)
|
|
||||||
[](https://sourcerer.io/fame/fulmicoton/tantivy-search/tantivy/links/5)
|
|
||||||
[](https://sourcerer.io/fame/fulmicoton/tantivy-search/tantivy/links/6)
|
|
||||||
[](https://sourcerer.io/fame/fulmicoton/tantivy-search/tantivy/links/7)
|
|
||||||
|
|
||||||
**Tantivy** is a **full text search engine library** written in Rust.
|
**Tantivy** is a **full text search engine library** written in Rust.
|
||||||
|
|
||||||
It is closer to [Apache Lucene](https://lucene.apache.org/) than to [Elasticsearch](https://www.elastic.co/products/elasticsearch) or [Apache Solr](https://lucene.apache.org/solr/) in the sense it is not
|
It is closer to [Apache Lucene](https://lucene.apache.org/) than to [Elasticsearch](https://www.elastic.co/products/elasticsearch) or [Apache Solr](https://lucene.apache.org/solr/) in the sense it is not
|
||||||
@@ -27,7 +18,7 @@ Tantivy is, in fact, strongly inspired by Lucene's design.
|
|||||||
|
|
||||||
# Benchmark
|
# Benchmark
|
||||||
|
|
||||||
The following [benchmark](https://tantivy-search.github.io/bench/) break downs
|
The following [benchmark](https://tantivy-search.github.io/bench/) break downs
|
||||||
performance for different type of queries / collection.
|
performance for different type of queries / collection.
|
||||||
|
|
||||||
Your mileage WILL vary depending on the nature of queries and their load.
|
Your mileage WILL vary depending on the nature of queries and their load.
|
||||||
@@ -57,7 +48,7 @@ Your mileage WILL vary depending on the nature of queries and their load.
|
|||||||
## Non-features
|
## Non-features
|
||||||
|
|
||||||
- Distributed search is out of the scope of Tantivy. That being said, Tantivy is a
|
- Distributed search is out of the scope of Tantivy. That being said, Tantivy is a
|
||||||
library upon which one could build a distributed search. Serializable/mergeable collector state for instance,
|
library upon which one could build a distributed search. Serializable/mergeable collector state for instance,
|
||||||
are within the scope of Tantivy.
|
are within the scope of Tantivy.
|
||||||
|
|
||||||
|
|
||||||
@@ -66,14 +57,14 @@ are within the scope of Tantivy.
|
|||||||
Tantivy works on stable Rust (>= 1.27) and supports Linux, MacOS, and Windows.
|
Tantivy works on stable Rust (>= 1.27) and supports Linux, MacOS, and Windows.
|
||||||
|
|
||||||
- [Tantivy's simple search example](https://tantivy-search.github.io/examples/basic_search.html)
|
- [Tantivy's simple search example](https://tantivy-search.github.io/examples/basic_search.html)
|
||||||
- [tantivy-cli and its tutorial](https://github.com/tantivy-search/tantivy-cli) - `tantivy-cli` is an actual command line interface that makes it easy for you to create a search engine,
|
- [tantivy-cli and its tutorial](https://github.com/quickwit-oss/tantivy-cli) - `tantivy-cli` is an actual command line interface that makes it easy for you to create a search engine,
|
||||||
index documents, and search via the CLI or a small server with a REST API.
|
index documents, and search via the CLI or a small server with a REST API.
|
||||||
It walks you through getting a wikipedia search engine up and running in a few minutes.
|
It walks you through getting a wikipedia search engine up and running in a few minutes.
|
||||||
- [Reference doc for the last released version](https://docs.rs/tantivy/)
|
- [Reference doc for the last released version](https://docs.rs/tantivy/)
|
||||||
|
|
||||||
# How can I support this project?
|
# How can I support this project?
|
||||||
|
|
||||||
There are many ways to support this project.
|
There are many ways to support this project.
|
||||||
|
|
||||||
- Use Tantivy and tell us about your experience on [Discord](https://discord.gg/MT27AG5EVE) or by email (paul.masurel@gmail.com)
|
- Use Tantivy and tell us about your experience on [Discord](https://discord.gg/MT27AG5EVE) or by email (paul.masurel@gmail.com)
|
||||||
- Report bugs
|
- Report bugs
|
||||||
@@ -92,7 +83,7 @@ Tantivy compiles on stable Rust but requires `Rust >= 1.27`.
|
|||||||
To check out and run tests, you can simply run:
|
To check out and run tests, you can simply run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/quickwit-inc/tantivy.git
|
git clone https://github.com/quickwit-oss/tantivy.git
|
||||||
cd tantivy
|
cd tantivy
|
||||||
cargo build
|
cargo build
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ authors = ["Paul Masurel <paul.masurel@gmail.com>"]
|
|||||||
license = "MIT"
|
license = "MIT"
|
||||||
categories = []
|
categories = []
|
||||||
description = """Tantivy-sub crate: bitpacking"""
|
description = """Tantivy-sub crate: bitpacking"""
|
||||||
repository = "https://github.com/quickwit-inc/tantivy"
|
repository = "https://github.com/quickwit-oss/tantivy"
|
||||||
keywords = []
|
keywords = []
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ Note: Tantivy 0.16 does not do this optimization yet.
|
|||||||
In principle there are many algorithms possible that exploit the monotonically increasing nature. (aggregations maybe?)
|
In principle there are many algorithms possible that exploit the monotonically increasing nature. (aggregations maybe?)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
The index sorting can be configured setting [`sort_by_field`](https://github.com/quickwit-inc/tantivy/blob/000d76b11a139a84b16b9b95060a1c93e8b9851c/src/core/index_meta.rs#L238) on `IndexSettings` and passing it to a `IndexBuilder`. As of tantvy 0.16 only fast fields are allowed to be used.
|
The index sorting can be configured setting [`sort_by_field`](https://github.com/quickwit-oss/tantivy/blob/000d76b11a139a84b16b9b95060a1c93e8b9851c/src/core/index_meta.rs#L238) on `IndexSettings` and passing it to a `IndexBuilder`. As of tantvy 0.16 only fast fields are allowed to be used.
|
||||||
|
|
||||||
```
|
```
|
||||||
let settings = IndexSettings {
|
let settings = IndexSettings {
|
||||||
@@ -55,7 +55,7 @@ let index = index_builder.create_in_ram().unwrap();
|
|||||||
|
|
||||||
## Implementation details
|
## Implementation details
|
||||||
|
|
||||||
Sorting an index is applied in the serialization step. In general there are two serialization steps: [Finishing a single segment](https://github.com/quickwit-inc/tantivy/blob/000d76b11a139a84b16b9b95060a1c93e8b9851c/src/indexer/segment_writer.rs#L338) and [merging multiple segments](https://github.com/quickwit-inc/tantivy/blob/000d76b11a139a84b16b9b95060a1c93e8b9851c/src/indexer/merger.rs#L1073).
|
Sorting an index is applied in the serialization step. In general there are two serialization steps: [Finishing a single segment](https://github.com/quickwit-oss/tantivy/blob/000d76b11a139a84b16b9b95060a1c93e8b9851c/src/indexer/segment_writer.rs#L338) and [merging multiple segments](https://github.com/quickwit-oss/tantivy/blob/000d76b11a139a84b16b9b95060a1c93e8b9851c/src/indexer/merger.rs#L1073).
|
||||||
|
|
||||||
In both cases we generate a docid mapping reflecting the sort. This mapping is used when serializing the different components (doc store, fastfields, posting list, normfield, facets).
|
In both cases we generate a docid mapping reflecting the sort. This mapping is used when serializing the different components (doc store, fastfields, posting list, normfield, facets).
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,8 @@ authors = ["Paul Masurel <paul.masurel@gmail.com>"]
|
|||||||
license = "MIT"
|
license = "MIT"
|
||||||
categories = ["database-implementations", "data-structures"]
|
categories = ["database-implementations", "data-structures"]
|
||||||
description = """Search engine library"""
|
description = """Search engine library"""
|
||||||
documentation = "https://quickwit-inc.github.io/tantivy/tantivy/index.html"
|
homepage = "https://github.com/quickwit-oss/tantivy"
|
||||||
homepage = "https://github.com/quickwit-inc/tantivy"
|
repository = "https://github.com/quickwit-oss/tantivy"
|
||||||
repository = "https://github.com/quickwit-inc/tantivy"
|
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
keywords = ["search", "information", "retrieval"]
|
keywords = ["search", "information", "retrieval"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|||||||
@@ -1060,7 +1060,7 @@ impl IndexMerger {
|
|||||||
// the doc stores would be on average half full, given total randomness (which
|
// the doc stores would be on average half full, given total randomness (which
|
||||||
// is not the case here, but not sure how it behaves exactly).
|
// is not the case here, but not sure how it behaves exactly).
|
||||||
//
|
//
|
||||||
// https://github.com/quickwit-inc/tantivy/issues/1053
|
// https://github.com/quickwit-oss/tantivy/issues/1053
|
||||||
//
|
//
|
||||||
// take 7 in order to not walk over all checkpoints.
|
// take 7 in order to not walk over all checkpoints.
|
||||||
|| store_reader.block_checkpoints().take(7).count() < 6
|
|| store_reader.block_checkpoints().take(7).count() < 6
|
||||||
|
|||||||
@@ -105,7 +105,7 @@
|
|||||||
//! A good place for you to get started is to check out
|
//! A good place for you to get started is to check out
|
||||||
//! the example code (
|
//! the example code (
|
||||||
//! [literate programming](https://tantivy-search.github.io/examples/basic_search.html) /
|
//! [literate programming](https://tantivy-search.github.io/examples/basic_search.html) /
|
||||||
//! [source code](https://github.com/quickwit-inc/tantivy/blob/main/examples/basic_search.rs))
|
//! [source code](https://github.com/quickwit-oss/tantivy/blob/main/examples/basic_search.rs))
|
||||||
|
|
||||||
#[cfg_attr(test, macro_use)]
|
#[cfg_attr(test, macro_use)]
|
||||||
extern crate serde_json;
|
extern crate serde_json;
|
||||||
|
|||||||
@@ -66,9 +66,9 @@ fn test_write_commit_fails() -> tantivy::Result<()> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Motivated by
|
// Motivated by
|
||||||
// - https://github.com/quickwit-inc/quickwit/issues/730
|
// - https://github.com/quickwit-oss/quickwit/issues/730
|
||||||
// Details at
|
// Details at
|
||||||
// - https://github.com/quickwit-inc/tantivy/issues/1198
|
// - https://github.com/quickwit-oss/tantivy/issues/1198
|
||||||
#[test]
|
#[test]
|
||||||
fn test_fail_on_flush_segment() -> tantivy::Result<()> {
|
fn test_fail_on_flush_segment() -> tantivy::Result<()> {
|
||||||
let _fail_scenario_guard = fail::FailScenario::setup();
|
let _fail_scenario_guard = fail::FailScenario::setup();
|
||||||
|
|||||||
Reference in New Issue
Block a user