내가 필드 가능한 모든 용어를 추출하는 예를 보았다 hereLucene.Net에서 필드에 대한 용어가 아닌 모든 저장된 값을 얻는 방법은 무엇입니까?
내 porpouses 맞지 않는 이유는 용어와 저장된 값이 다르기 때문에, 예를 들어, "black cat"
의 저장된 값은 두 개의 단어 "black"
과 "cat"
으로 표시됩니다. 내 코드에서이 경우에 전체 저장된 값을 추출해야합니다. "black cat"
.
내가 필드 가능한 모든 용어를 추출하는 예를 보았다 hereLucene.Net에서 필드에 대한 용어가 아닌 모든 저장된 값을 얻는 방법은 무엇입니까?
내 porpouses 맞지 않는 이유는 용어와 저장된 값이 다르기 때문에, 예를 들어, "black cat"
의 저장된 값은 두 개의 단어 "black"
과 "cat"
으로 표시됩니다. 내 코드에서이 경우에 전체 저장된 값을 추출해야합니다. "black cat"
.
네, 그렇게 할 수 있습니다. 나는 C# 프로그래머가 아니지만 Java 코드를 이해할 수 있기를 바랍니다.
IndexReader reader = DirectoryReader.open(dir);
final int len = reader.maxDoc();
for (int i = 0; i < len; ++i) {
Document document = reader.document(i);
List<IndexableField> fields = document.getFields();
for (IndexableField field : fields) {
if (field.fieldType().stored()) {
System.out.println(field.stringValue());
}
}
}
그래서 기본적으로 모든 문서를 가로 질러 모든 필드를 가져와 저장하면 데이터를 가져옵니다. 필드 이름으로 필터링 할 수 있습니다. 필드 이름은 필 요합니다.
여기에서 전체 테스트를 찾을 수 있습니다 - https://raw.githubusercontent.com/MysterionRise/information-retrieval-adventure/master/src/main/java/org/mystic/GetAllStoredFieldValues.java (증명과 함께 올바르게 작동 함)