2014-01-16 4 views
0

제목 클래스의 두 가지 메소드 즉 필드를 이해하려고합니다. 이 두 가지 방법이 포함 된 방법이 있습니다.메서드 org.apache.lucene.document.Lucene의 클래스 사용

protected void addAnalyzedField(Document document, String fieldName, TokenStream tokenizer, 
      boolean withNorms, boolean withTermFreqAndPositions) { 
     Field field = new Field(fieldName, tokenizer); 
     field.setOmitNorms(!withNorms); 
     field.setOmitTermFreqAndPositions(!withTermFreqAndPositions); 
     document.add(field); 
    } 

나는 field.setOmitNorms(boolean....) 무슨 이러한 두 가지 방법이 정말 않는다는 것을 field.setOmitTermFreqAndPositions(boolean....)을 위해 절대적으로 혼란스러워했다? 필드가 인덱스 프로세스에서 생략되는지 여부에 관계없이 이러한 방법이 사용되는 것으로 추측되었습니다. 내가 맞습니까?

누구나 실용적인 시나리오를 사용할 수 있습니까?

감사합니다.

답변

1

색인을 생성하지 않고 필드를 저장하려면 StoredField을 사용하기 만하면됩니다. 동일한 문서의 다른 필드에 색인이 생성되고 검색 중에이 문서를 가리키면 제시 한 값과 동일한 값을 검색 할 수 있습니다.

규범은 here으로 설명됩니다.

용어 빈도를 사용하면 색인에서 일치하는 용어의 수를 확인할 수 있습니다.

+0

고마워. – puru

+0

답변이 만족 스럽다고 생각되면 [승인] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)을 원할 수 있습니다. 사이트 작동. 고맙습니다! – mindas

+0

Field 클래스를 사용하면 문서의 사용 가능한 모든 필드에 대한 색인이 생성됩니다. 색인 생성 없이는 어떤 것이 남지 않을 수 있습니까? 부디! – puru

관련 문제