도움말 시스템에서 새로 연합된 정보 검색은 검색 엔진 유형 및 검색 엔진 개념을 사용합니다. 엔진 유형은 매개변수화를 통해 다수의 구체적 검색 엔진을 작성할 수 있는 메타 엔진입니다.
새 엔진 유형은 org.eclipse.help.ui.searchEngine을 통해 제공됩니다.
이 확장점은 정보 검색 시 검색 구성원을 플러그인하는 데 사용됩니다. 각 검색 엔진을 개별적으로 구성할 수 있습니다. 검색이 시작되면 각 검색 엔진이 배경 작업으로 실행되며, 결과는 도움말 보기에서 조회 바로 아래에 조합됩니다.<extension point="org.eclipse.help.ui.searchEngine"> <engineType scopeFactory="com.example.xyz.XYZScopeFactory" label="XYZ Search" class="com.example.xyz.search.XYZSearch" icon="icons/etool16/xyzsearch.gif" pageClass="com.example.xyz.search.XYZSearchPage" id="com.example.xyz.XYZSearch"> <description> Instances of XYZ Search search the XYZ site. </description> </engineType>
여기 정의된 검색 엔진은 productId
속성을 정의하지 않은 채로 두지 않으면
엔진 정보 바인딩을 설정한 후에야 연합 검색 구성원으로 자동으로 표시됩니다. 이 속성을 정의하는 엔진의 경우,
특정 제품에 바인드된 엔진만 해당 제품이 실행 중일 때 표시됩니다.
검색 엔진은 단순히 URL을 구성하며, 해당
URL을 href
로 포함하는 하나의 적중만 제공할 수 있습니다. API 지원을 위해 라이센스가 필요한
일반적인 검색 엔진을 이와 같이 플러그인할 수 있습니다. 스펙트럼의 반대쪽 끝에서
검색 엔진은 서버와 통신하고 레이블, href, 간단한 설명, 점수 등과 같은 정보를 가진
개별 적중을 수신할 수 있습니다. 로컬 도움말 엔진은 이런 식으로 히트를 생성할 수 있습니다.
검색 메커니즘에 관계없이 엔진은 JFace 환경 설정 페이지를 사용하여 다양한 검색 범위 설정을 제공할 수 있습니다. 이 페이지는 도움말 보기에서 다음에 '고급 설정' 링크가 올 때 표시됩니다. 보다 고급 설정을 위해 엔진과 함께 정의된 루트 환경 설정 페이지 이외에 추가 환경 설정 하위 페이지를 플러그인할 수 있습니다.
범위 설정은 IPreferenceStore
오브젝트를 사용하여 로드 및
저장됩니다. 모든 엔진에 대한 범위 설정은 이름 지정된
범위 세트 아래에 같이 그룹화됩니다. 처음 열릴 때 기본 범위 세트('Default')가 작성되지만
사용자는 범위 세트를 추가로 정의하고 범위 세트 간에 대칭 이동할 수 있습니다.
연합 검색 지원은 org.eclipse.help.base
플러그인의 일부이기 때문에 환경 설정에 저장된 데이터에서 검색 범위 오브젝트를 작성하려면 팩토리가
필요합니다. 범위 팩토리를 플러그인하려면 범위 환경 설정 페이지를 플러그인하는 클라이언트도 필요합니다.
이 확장점에 정의된 엔진은 기본적으로 UI에 표시되지 않습니다. UI에 표시되는 것은 개별적으로 수정할 수 있는 검색 엔진의 구체적 인스턴스입니다. 제품은 다수의 등록된 엔진 유형 인스턴스를 사용하여 도움말 시스템을 사전에 구성할 수 있으며, 원하는 방식으로 수행하도록 매개변수화할 수 있습니다. 또한 사용자는 등록된 엔진의 자체 인스턴스를 추가하고 이를 연계 구성할 수 있습니다.
<engine enabled="true" engineTypeId="com.example.xyz.search.XYZSearch" id="com.example.xyz.XYZSearch" label="XYZ Search"> </engine> <engine enabled="true" engineTypeId="org.eclipse.help.ui.web" id="org.eclipse.sdk.Eclipse" label="%search.Eclipse.label"> <description> %search.Eclipse.desc </description> <param name="url" value="http://eclipse.org/search/search.cgi?q={expression}&ul=&ps=20&m=all"> </param> </engine>