mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-30 09:04:59 +08:00
Use word_prefix_docids, make get_word_prefix_docids private
This commit is contained in:
parent
c20c38a7fa
commit
7a01f20df7
@ -138,7 +138,7 @@ impl<'ctx> SearchContext<'ctx> {
|
||||
}
|
||||
|
||||
/// Retrieve or insert the given value in the `word_prefix_docids` database.
|
||||
pub fn get_db_word_prefix_docids(
|
||||
fn get_db_word_prefix_docids(
|
||||
&mut self,
|
||||
prefix: Interned<String>,
|
||||
) -> Result<Option<RoaringBitmap>> {
|
||||
|
@ -434,7 +434,7 @@ fill: \"#B6E2D3\"
|
||||
writeln!(file, "{}: phrase", p.description(ctx))?;
|
||||
}
|
||||
if let Some(w) = term_subset.use_prefix_db(ctx) {
|
||||
let w = ctx.word_interner.get(w);
|
||||
let w = ctx.word_interner.get(w.interned());
|
||||
writeln!(file, "{w}: prefix db")?;
|
||||
}
|
||||
|
||||
|
@ -159,12 +159,12 @@ impl QueryTermSubset {
|
||||
self.two_typo_subset.intersect(&other.two_typo_subset);
|
||||
}
|
||||
|
||||
pub fn use_prefix_db(&self, ctx: &SearchContext) -> Option<Interned<String>> {
|
||||
pub fn use_prefix_db(&self, ctx: &SearchContext) -> Option<Word> {
|
||||
let original = ctx.term_interner.get(self.original);
|
||||
let Some(use_prefix_db) = original.zero_typo.use_prefix_db else {
|
||||
return None
|
||||
};
|
||||
match &self.zero_typo_subset {
|
||||
let word = match &self.zero_typo_subset {
|
||||
NTypoTermSubset::All => Some(use_prefix_db),
|
||||
NTypoTermSubset::Subset { words, phrases: _ } => {
|
||||
// TODO: use a subset of prefix words instead
|
||||
@ -175,7 +175,14 @@ impl QueryTermSubset {
|
||||
}
|
||||
}
|
||||
NTypoTermSubset::Nothing => None,
|
||||
}
|
||||
};
|
||||
word.map(|word| {
|
||||
if original.ngram_words.is_some() {
|
||||
Word::Derived(word)
|
||||
} else {
|
||||
Word::Original(word)
|
||||
}
|
||||
})
|
||||
}
|
||||
pub fn all_single_words_except_prefix_db(
|
||||
&self,
|
||||
|
@ -55,7 +55,7 @@ pub fn compute_docids(
|
||||
compute_prefix_edges(
|
||||
ctx,
|
||||
left_word.interned(),
|
||||
right_prefix,
|
||||
right_prefix.interned(),
|
||||
left_phrase,
|
||||
forward_proximity,
|
||||
backward_proximity,
|
||||
|
@ -44,7 +44,7 @@ pub fn compute_query_term_subset_docids(
|
||||
}
|
||||
|
||||
if let Some(prefix) = term.use_prefix_db(ctx) {
|
||||
if let Some(prefix_docids) = ctx.get_db_word_prefix_docids(prefix)? {
|
||||
if let Some(prefix_docids) = ctx.word_prefix_docids(prefix)? {
|
||||
docids |= prefix_docids;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user