나는 liferay 콘텐츠에 대한 고급 검색을위한 모듈을 개발 중이었고 문서 라이브러리 검색에 문제가있어 문서 유형별로 문서를 검색하라는 요청을 받았으며 실현 가능성을 알고 싶습니다. 이러한 기능을, 나는하는 Liferay 코드를 확인했습니다 및 6.0 또는 그 인덱스 전체 파일 이름Liferay 문서 라이브러리에서 문서 확장으로 검색
친절이 문제
나는 liferay 콘텐츠에 대한 고급 검색을위한 모듈을 개발 중이었고 문서 라이브러리 검색에 문제가있어 문서 유형별로 문서를 검색하라는 요청을 받았으며 실현 가능성을 알고 싶습니다. 이러한 기능을, 나는하는 Liferay 코드를 확인했습니다 및 6.0 또는 그 인덱스 전체 파일 이름Liferay 문서 라이브러리에서 문서 확장으로 검색
친절이 문제
좀 도와를 사용하는 경우 문서 라이브러리 인덱서 대신 문서 확장 인덱스를하지 않는 것을 발견 높으면 훅 플러그인을 사용하여 문서의 색인이 생성되는 방식을 변경할 수 있습니다.
단순히 com.liferay.portal.kernel.search.BaseIndexerPostProcessor을 확장하고 당신이 변경해야 메소드를 구현하여 포스트 프로세서 클래스에 liferay-hook.xml
<indexer-post-processor>
<indexer-class-name>com.liferay.portal.model.DLFileEntry</indexer-class-name>
<indexer-post-processor-impl>com.example.hook.indexer.DLFileEntryIndexerPostProcessor</indexer-post-processor-impl>
</indexer-post-processor>
에서 정의합니다.
이 경우 색인 필드로 확장에 추가하려면 postProcessDocument
을 구현하고 검색 쿼리의 일부로 포함하려면 postProcessSearchQuery
또는 postProcessFullQuery
을 구현할 수 있습니다.
듣고 싶지는 않을 것 같지만 Liferay의 이후 버전에서는 확장자를 "확장자"필드로 인덱싱하기 시작했습니다. env에 패치를 적용 할 수 있다면 인덱서에 한 줄로 변경됩니다. \t \t \t document.addKeyword ("extension", dlFileEntry.getExtension()); – Ray
답장을 보내 주셔서 감사합니다. 어쨌든 알고 있었고 인덱서 재정의를 찾기 시작했습니다. 인덱서 재정의 권장 사항이 있으면 거기에 답장을 게시합니다. http://stackoverflow.com/questions/8231851/change-liferay-search-indexer 감사합니다. –