mirror of
https://github.com/meilisearch/MeiliSearch
synced 2024-11-30 00:34:26 +01:00
Add name, created_at and updated_at informations into main index
This commit is contained in:
parent
750d336018
commit
076e781810
@ -1,17 +1,22 @@
|
|||||||
|
use chrono::{DateTime, Utc};
|
||||||
use crate::RankedMap;
|
use crate::RankedMap;
|
||||||
use heed::types::{ByteSlice, OwnedType, SerdeBincode, Str};
|
|
||||||
use heed::Result as ZResult;
|
use heed::Result as ZResult;
|
||||||
|
use heed::types::{ByteSlice, OwnedType, SerdeBincode, Str};
|
||||||
use meilidb_schema::Schema;
|
use meilidb_schema::Schema;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
|
const CREATED_AT: &str = "created-at";
|
||||||
const CUSTOMS_KEY: &str = "customs-key";
|
const CUSTOMS_KEY: &str = "customs-key";
|
||||||
|
const NAME: &str = "name";
|
||||||
const NUMBER_OF_DOCUMENTS_KEY: &str = "number-of-documents";
|
const NUMBER_OF_DOCUMENTS_KEY: &str = "number-of-documents";
|
||||||
const RANKED_MAP_KEY: &str = "ranked-map";
|
const RANKED_MAP_KEY: &str = "ranked-map";
|
||||||
const SCHEMA_KEY: &str = "schema";
|
const SCHEMA_KEY: &str = "schema";
|
||||||
const SYNONYMS_KEY: &str = "synonyms";
|
|
||||||
const STOP_WORDS_KEY: &str = "stop-words";
|
const STOP_WORDS_KEY: &str = "stop-words";
|
||||||
|
const SYNONYMS_KEY: &str = "synonyms";
|
||||||
const WORDS_KEY: &str = "words";
|
const WORDS_KEY: &str = "words";
|
||||||
|
|
||||||
|
type SerdeDatetime = SerdeBincode<DateTime<Utc>>;
|
||||||
|
|
||||||
#[derive(Copy, Clone)]
|
#[derive(Copy, Clone)]
|
||||||
pub struct Main {
|
pub struct Main {
|
||||||
pub(crate) main: heed::PolyDatabase,
|
pub(crate) main: heed::PolyDatabase,
|
||||||
@ -22,6 +27,22 @@ impl Main {
|
|||||||
self.main.clear(writer)
|
self.main.clear(writer)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn name(self, reader: &heed::RoTxn) -> ZResult<Option<String>> {
|
||||||
|
Ok(self.main.get::<Str, Str>(reader, NAME)?.map(|name| name.to_owned()))
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn put_name(self, writer: &mut heed::RwTxn, name: &str) -> ZResult<()> {
|
||||||
|
self.main.put::<Str, Str>(writer, NAME, name)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn created_at(self, reader: &heed::RoTxn) -> ZResult<Option<DateTime<Utc>>> {
|
||||||
|
self.main.get::<Str, SerdeDatetime>(reader, CREATED_AT)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn put_created_at(self, writer: &mut heed::RwTxn) -> ZResult<()> {
|
||||||
|
self.main.put::<Str, SerdeDatetime>(writer, CREATED_AT, &Utc::now())
|
||||||
|
}
|
||||||
|
|
||||||
pub fn put_words_fst(self, writer: &mut heed::RwTxn, fst: &fst::Set) -> ZResult<()> {
|
pub fn put_words_fst(self, writer: &mut heed::RwTxn, fst: &fst::Set) -> ZResult<()> {
|
||||||
let bytes = fst.as_fst().as_bytes();
|
let bytes = fst.as_fst().as_bytes();
|
||||||
self.main.put::<Str, ByteSlice>(writer, WORDS_KEY, bytes)
|
self.main.put::<Str, ByteSlice>(writer, WORDS_KEY, bytes)
|
||||||
|
Loading…
Reference in New Issue
Block a user