Reduce the maximum word proximity from 8 to 4

This commit is contained in:
Loïc Lecrenier 2023-06-07 11:50:58 +02:00
parent 8628a0c856
commit d6868dbd47
3 changed files with 4 additions and 3 deletions

View File

@ -2,7 +2,7 @@ use std::cmp;
use crate::{relative_from_absolute_position, Position}; use crate::{relative_from_absolute_position, Position};
pub const MAX_DISTANCE: u32 = 8; pub const MAX_DISTANCE: u32 = 4;
pub fn index_proximity(lhs: u32, rhs: u32) -> u32 { pub fn index_proximity(lhs: u32, rhs: u32) -> u32 {
if lhs <= rhs { if lhs <= rhs {

View File

@ -1,6 +1,7 @@
#![allow(clippy::too_many_arguments)] #![allow(clippy::too_many_arguments)]
use super::ProximityCondition; use super::ProximityCondition;
use crate::proximity::MAX_DISTANCE;
use crate::search::new::interner::{DedupInterner, Interned}; use crate::search::new::interner::{DedupInterner, Interned};
use crate::search::new::query_term::LocatedQueryTermSubset; use crate::search::new::query_term::LocatedQueryTermSubset;
use crate::search::new::SearchContext; use crate::search::new::SearchContext;
@ -47,7 +48,7 @@ pub fn build_edges(
} }
conditions.push(( conditions.push((
(7 + right_ngram_length) as u32, MAX_DISTANCE - 1 + right_ngram_length as u32,
conditions_interner.insert(ProximityCondition::Term { term: right_term.clone() }), conditions_interner.insert(ProximityCondition::Term { term: right_term.clone() }),
)); ));

View File

@ -91,7 +91,7 @@ fn document_word_positions_into_sorter(
while !word_positions_heap.is_empty() { while !word_positions_heap.is_empty() {
while let Some(peeked_word_position) = word_positions_heap.pop() { while let Some(peeked_word_position) = word_positions_heap.pop() {
ordered_peeked_word_positions.push(peeked_word_position); ordered_peeked_word_positions.push(peeked_word_position);
if ordered_peeked_word_positions.len() == 7 { if ordered_peeked_word_positions.len() == MAX_DISTANCE as usize - 1 {
break; break;
} }
} }