TermQuery 반환하지 결과와 함께 Zoom_out 개월은 LowercaseKeywordAnalyzer 내가 새로운 LowercaseKeywordAnalyzer를 사용하는 ExactTitle을 설정하는 PerFieldAnalyzer을 사용하고
var exactTitleField = new Field(ReportFields.ExactTitle, report.PortalReportTitle, Field.Store.NO,
Field.Index.NOT_ANALYZED);
exactTitleField.Boost = 10.0f;
reportDoc.Add(exactTitleField);
2 단어 예제 "test abc"를 사용하여 검색하면 TermQuery 검색을 수행 할 때 찾지 못합니다.
"Test Abc"에 대한 검색을 수행하면 작동합니다. 이 경우 대소 문자를 구분하지 않는 키워드/용어 검색 작업을 수행하려면 어떻게해야합니까? 사전에
public class LowercaseKeywordAnalyzer : Analyzer
{
public override TokenStream TokenStream(string fieldName, System.IO.TextReader reader)
{
TokenStream tokenStream = new KeywordTokenizer(reader);
tokenStream = new LowerCaseFilter(tokenStream);
return tokenStream;
}
}
감사 :
여기 분석기입니다. 당신이 당신의 필드를 만들 때 Field.Index.NOT_ANALYZED
를 지정하면
의미가 있습니다. 그래도 ANALYZED로 전환하면 "test abc"또는 "Test Abc"가 없습니다. 내가 놓친 다른 것이 보이니? – DougJones
코드를 게시 해 주셔서 감사합니다. 색인을 생성 할 때 (여러 방법, 1을 변경하고 다른 하나를 누르는 경우) 분석기를 올바르게 설정하지 않았 음이 밝혀졌습니다. 즉, 다음 문제를 넘어 나를 도왔다. 입력 된 내용을 소문자로 검색해야한다고 언급했다. 다시 한 번 감사드립니다! – DougJones