fix: normalize javascript / typescript / jsx /tsx in query side (#980)
parent
bdede03333
commit
928f1c527c
|
|
@ -79,6 +79,15 @@ impl Default for CodeSearchSchema {
|
||||||
|
|
||||||
impl CodeSearchSchema {
|
impl CodeSearchSchema {
|
||||||
pub fn language_query(&self, language: &str) -> Box<TermQuery> {
|
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(
|
Box::new(TermQuery::new(
|
||||||
Term::from_field_text(self.field_language, language),
|
Term::from_field_text(self.field_language, language),
|
||||||
IndexRecordOption::WithFreqsAndPositions,
|
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