fix: normalize javascript / typescript / jsx /tsx in query side (#980)
parent
bdede03333
commit
928f1c527c
|
|
@ -79,6 +79,15 @@ impl Default for CodeSearchSchema {
|
|||
|
||||
impl CodeSearchSchema {
|
||||
pub fn language_query(&self, language: &str) -> Box<TermQuery> {
|
||||
let language = if language == "javascript"
|
||||
|| language == "typescript"
|
||||
|| language == "javascriptreact"
|
||||
|| language == "typescriptreact"
|
||||
{
|
||||
"javascript-typescript"
|
||||
} else {
|
||||
language
|
||||
};
|
||||
Box::new(TermQuery::new(
|
||||
Term::from_field_text(self.field_language, language),
|
||||
IndexRecordOption::WithFreqsAndPositions,
|
||||
|
|
@ -93,3 +102,18 @@ impl CodeSearchSchema {
|
|||
))
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::CodeSearchSchema;
|
||||
|
||||
#[test]
|
||||
fn test_language_query() {
|
||||
let schema = CodeSearchSchema::new();
|
||||
let lhs = schema.language_query("javascript-typescript");
|
||||
assert_eq!(lhs.term(), schema.language_query("javascript").term());
|
||||
assert_eq!(lhs.term(), schema.language_query("typescript").term());
|
||||
assert_eq!(lhs.term(), schema.language_query("typescriptreact").term());
|
||||
assert_eq!(lhs.term(), schema.language_query("javascriptreact").term());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue