it-swarm-ko.tech

아파치 솔라 패싯

검색 할 사용자 정의 패싯/사용자 정의 필터를 작성해야합니다. Facet API 가 설치되어 있습니다. 누구든지 이것에 대한 경험이 있습니까? 이상적으로는 Apache Solr Facet Builder 를 사용하지만 D6에서만 지원되는 것으로 보입니다.

7
williamsowen

Apache Solr Search Integration 모듈은 매우 우수한 Solr 통합을 제공하며 적극적으로 개발 및 업데이트됩니다. 이를 설치 한 후/admin/settings/apachesolr/enabled-filters로 이동하여 컨텐츠 유형의 수많은 필드에 대해 패싯 블록을 사용할 수 있습니다.

다양한 CCK 필드가 Solr에 자동으로 전송되지만 전부는 아닙니다. 추가 지침은 here 를 참조하고 패싯 활성화에 대한 유용한 정보가 있으므로 주석을 확인하십시오. 이 기사는 모듈 자체의 주요 저자가 작성하므로 무슨 일이 일어나고 있는지 알 수 있습니다. :)

또한 http://drupal.org/node/903398 은 cck 필드를 검색하는 데 도움이됩니다. 텍스트 필드에서만 검색 할 수 있으며 따끔 거리지 않아야합니다. 문자열 필드는 패싯에 유용하고 텍스트 필드는 검색에 유용합니다.

5
rockingskier

패싯 API는 플러그인을 구현하여 사용자 정의 표시 위젯을 허용합니다. 플러그인은 렌더 배열에 대한 전체 액세스 권한을 가지므로 궁극적으로 패싯의 모양과 느낌을 완벽하게 제어 할 수 있습니다.

Execute () 메소드가있는 클래스를 가리키는 hook_facetapi_widgets ()를 구현하여 플러그인을 시스템에 추가합니다. 작동하는 플러그인의 예는 Facet API 모듈의 plugins/facetapi/widget_links.inc 파일을 참조하십시오. Facet API 위젯으로 수행 할 수있는 멋진 작업의 다른 예는 차트 패싯 및 tagcloud 패싯입니다.

플러그인의 execute ()에서 렌더 배열로 작업하는 방법에 대한 Drupal 7 기사 http://drupal.org/node/93076 에서 렌더 배열보기 방법.

몇 가지 예제 코드는 다음과 같습니다.

/**
 * Implements hook_facetapi_widgets().
 */
function mymodule_facetapi_widgets() {
  return array(
    'mymodule_mywidget' => array(
      'handler' => array(
        'label' => t('My Custom Widget'),
        'class' => 'MymoduleMywidget',
      ),
    ),
  );
}

클래스를 별도의 파일에 추가하고 여기에 설명 된대로 자동으로 포함되도록 설정하십시오. http://drupal.org/node/542202

/**
 * My custom widget.
 */
class MymoduleMywidget extends FacetapiWidget {

  /**
   * Renders the widget.
   */
  public function execute() {
    $element = &$this->build[$this->facet['field alias']];

    // $element is the render array that will render the facet.
  }
}
4
Chris Pliakas

여전히 문제가 발생하면 IndexTank 모듈을 확인하십시오.

1
Zohaib