Apache Lucene을 처음 사용합니다. 저는 최신 버전 인 facet 라이브러리와 함께 6.3.0을 사용하고 있습니다. 내가 GitHub의에서 발견 된 사례를 바탕으로 : https://github.com/apache/lucene-solr/tree/master/lucene/demo/src/java/org/apache/lucene/demo/facetApache Lucene은 문서의 패싯 필드를 반환합니다.
나는 문서
Document doc = new Document();
doc.add(new FacetField("Author", "Bob"));
doc.add(new FacetField("Publish Date", "2010", "10", "15"));
doc.add(new FacetField("Tags", "A"));
doc.add(new FacetField("Tags", "B"));
//[FacetField(dim=Author path=[Bob]), FacetField(dim=Publish Date path=[2010, 10, 15]), FacetField(dim=Tags path=[A]), FacetField(dim=Tags path=[B])]
System.out.println(doc.getFields());
//null
System.out.println(doc.getField("Author"));
doc.getFields()
반환 모든 필드 다음,하지만 doc.getField("Author")
는 null를 돌려줍니다. 내가 잘못하고 있니? 나는 이런 식으로 뭔가를 할 경우 더 파고
:
for(IndexableField myField:doc.getFields()){
System.out.println(myField.name());
}
인쇄입니다 :
dummy
dummy
dummy
dummy
을 그리고 나는이 doc.getField("dummy")
뭔가를 할 경우 실제로 첫 번째 필드 (저자)을 반환합니다 .
FacetField 소스 코드를 보면이 : https://github.com/apache/lucene-solr/blob/branch_6_3/lucene/facet/src/java/org/apache/lucene/facet/FacetField.java
public FacetField(String dim, String... path) {
super("dummy", TYPE);
이 버그가 : https://github.com/apache/lucene-solr/blob/branch_6_3/lucene/facet/src/java/org/apache/lucene/facet/FacetField.java 모든면 필드는 "더미"로 만든 것 같다?
그는 루씬 클래스 FacetField에 대해 특정 질문을 묻는 데요 - 그것은 SolrJ에 정말 관련이없는 그리고 내가 아는 한 SOLR와 통합? – MatsLindh
감사합니다. 수정 사항을 추가 할 예정입니다. :) –