Lucene 색인 (.NET)을 만들 때 NOT_ANALYZED로 식별자 필드를 추가합니다. 즉, "있는 그대로"즉 언어가 단순히 "EN"또는 "JP"로 저장됩니다. 이해한다면 자유 텍스트가 아닌 키를 저장하는 올바른 방법입니다. NOT_ANALYZED 필드에Lucene NOT_ANALYZED 리터럴 필드 검색이 0 결과를 반환하는 이유는 무엇입니까?
doc.Add(new NumericField("id", Field.Store.YES, true).SetIntValue(id));
doc.Add(new Field("language", language, Field.Store.YES, Field.Index.NOT_ANALYZED, Field.TermVector.NO));
doc.Add(new Field("headline", headline, Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.YES));
분석 필드 반환 결과에 대한 검색, 즉
headline:oversight
결과를 반환하지만, 간단한 쿼리는하지 않습니다 :
language:EN
또는
id:120
id:[120 TO 120]
(나는 id라고 가정하고, sto NumericField는 빨간색으로 본질적으로 NOT_ANALYZED로 저장됩니다.
Luke을 통해 색인에서이 값을 볼 수 있습니다.이 값은 저장되어 있습니다. 간단한 리터럴 필드에 대해 쿼리가 작동하지 않는 이유는 무엇입니까?
감사
라이언