mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-05-14 08:14:05 +02:00
Force phrase search to check if every words are in the document
This commit is contained in:
parent
0d9f7d2773
commit
2b43283522
@ -174,7 +174,7 @@ impl<'a> PartialMatch<'a> {
|
||||
let is_matching = match matching_words.first()? {
|
||||
Some(word) => &token.lemma() == word,
|
||||
// a None value in the phrase corresponds to a stop word,
|
||||
// the walue is considered a match if the current token is categorized as a stop word.
|
||||
// the value is considered a match if the current token is categorized as a stop word.
|
||||
None => token.is_stopword(),
|
||||
};
|
||||
|
||||
|
@ -194,7 +194,11 @@ pub fn compute_phrase_docids(
|
||||
return Ok(RoaringBitmap::new());
|
||||
}
|
||||
let mut candidates = None;
|
||||
for word in words.iter().flatten().copied() {
|
||||
for word in words.iter().copied() {
|
||||
let Some(word) = word else {
|
||||
continue;
|
||||
};
|
||||
|
||||
if let Some(word_docids) = ctx.word_docids(None, Word::Original(word))? {
|
||||
if let Some(candidates) = candidates.as_mut() {
|
||||
*candidates &= word_docids;
|
||||
|
Loading…
x
Reference in New Issue
Block a user