결과의 페이로드를 액세스, 나는 결과 문서의 목록이 표시됩니다. 하지만 그 문서들에서 히트 수를 어떻게 얻을 수 있습니까? 해당 단어의 페이로드에 액세스하려고합니다.이 단어는 쿼리에서 찾을 수 있습니다.는 루씬은 : 나는 루씬에서 쿼리 찾고 있어요 쿼리
쿼리가 하나의 용어가 포함되어있는 경우 단순히이 용어의 페이로드에 액세스 할 수 TermPositions
를 사용할 수 있습니다. 그러나 Phrase Search, Proximity Search로 더 복잡한 검색어를 사용하는 경우 ... TermPositions
에서 단일 검색어 만 검색 할 수는 없습니다.
List<Token>
, TokenStream
또는 유사한 것으로 알고 싶습니다. 여기에는 쿼리에서 찾은 모든 토큰이 들어 있습니다. 그런 다음 목록을 반복하고 각 토큰의 페이로드에 액세스 할 수 있습니다.
루씬 하이 라이터는 꽤 좋은 일을하고있다하지만, 난 여전히 페이로드에 액세스하는 데 문제가 있습니다. 나는 자신의 포맷터를 쓰려고 노력하고있다. 형광펜은 TokenGroup을 Formatter로 전달합니다. TokenGroup에서 Token의 getPayload() 함수를 호출 할 때마다 항상 null이 반환됩니다. 하지만 TermPositions를 통해 페이로드에 액세스하면 작동합니다. 토큰이 작동하지 않는 이유는 무엇입니까? 하이 라이터에 사용하는 전체 TokenStream에는 페이로드 특성이 없습니다. 그것은 항상 null입니다. – ethan123
다음 코드로 TokenStream을 얻습니다. TokenStream tokenStream = TokenSources.getAnyTokenStream (searcher.getIndexReader(), id, "contents", analyzer); 다르게해야합니까? – ethan123