면 처리 검색 아파치 SOLR의 드루팔 호스팅

참고 : 더그 반에 추가 특별한 감사를 마지막으로이 블로그 게시물을 게시 할 동기를 제공!

드루팔 (8)에 대한 검색 API 및 SOLR 관련 모듈은 초기 알파 상태에있을 때 초기 2016 년, 나는 검색 API SOLR 및 패싯으로 드루팔 8 각면 아파치 SOLR 검색 페이지를 설정 블로그 포스트를 작성했습니다.

드루팔 8 SOLR 검색은 매우 거친 상태에서 여전히 있지만, 많은 그 이후로 변경하고, 드루팔 8 SOLR 기반 검색이 훨씬 더 안정적인 (그리고 간편한에있는 경우 해당 게시물은 고통스러운 개월 동안 도움이되었다 오늘) 장소를 구성, 그래서 내가 마지막으로 거의 일년 후, 드루팔 8 측면 SOLR 검색을 구축하는 방법을 간단하게 보여주기 위해 새로운 게시물을 작성 거라고 생각했다.

호스팅

아파치 SOLR와 로컬 개발 환경 구축

난 항상 구축하고 로컬 드루팔 VM을 사용하여 드루팔 사이트를 유지하는 요즘, 이 날 나는 그것을 좋아하지 정확히 어떻게 개발 환경을 구축 할 수있는 일을하고, 아파치 SOLR을 추가하는 등의 작업을 수행하는 것은 간단하다. 이 연습에 대한 그래서, 나는 원점에서 시작하고, 어떻게 절대적으로 아무것도 시작하고, 드루팔 VM과 작곡가 파일을 사용하여 새 드루팔 (8) 사이트에서 측면 검색을 구축 할 보여주지 :

드루팔 VM을 다운로드하고 빠른 시작 안내서를 따르십시오. 다음 아파치 SOLR가 설치되어 있는지 확인하기 위해 드루팔 VM 폴더 안에 다음 config.yml을 추가 :

우리는 (드루팔 VM 폴더 안에 드루팔 하위 디렉토리에 기본적으로) 작곡가 기반 드루팔이 동기화 폴더 경로에 설치되어있는 드루팔 사이트를 생성하는 드루팔 VM의 작곡가 통합을 사용하는 것입니다.

drupal_composer_dependencies 변수가 작곡가로 드루팔 VM을 알려주는 검색 API SOLR 및 패싯을 얻을하는 데 필요한 모듈을 필요로한다. post_provision_scripts 스크립트는 드루팔 VM에 포함되어 적절하게 검색 API SOLR 모듈과 함께 사용 드루팔 VM 설치 아파치 SOLR의 버전을 구성합니다.

drupal.composer.json 할 example.drupal.composer.json를 복사합니다. 다음 로컬 개발 환경을 구축하고 검색을 시작하는 데 필요한 모든 드루팔 코드를 다운로드하도록 방랑 실행합니다.

참고 : 기존 사이트까지 검색하거나 검색 API, 검색 API SOLR를 드루팔 VM 다운로드를 사용하여 설치하지 않으며, 패싯 수동으로 모듈 및 확인 설정하는 경우 아파치 SOLR가 실행 중이과 검색의 핵심은 최신 검색 API의 SOLR 모듈 버전의 구성으로 구성.

모듈을 설치

당신은 드루팔의 UI를 통해 모듈을 설치하려면 :

  1. drupalvm.dev/로 이동합니다. 다음 관리자로 로그인 (기본 사용자 이름과 암호는 admin / admin입니다).
  2. 확장 페이지 (/ 관리자 / 모듈)로 이동 가능 "API 검색", "패싯은", "SOLR는 검색"및 "SOLR 검색 기본값".
좀 더 호스팅면 처리 검색 아파치 SOLR의 드루팔

당신은 Drush를 통해 모듈을 설치하려면 :

  1. drush @ drupalvm.drupalvm.dev 엔 -y 측면 search_api search_api_so LR search_api_solr_defaults을 실행

당신은 설치-가 검색 API 또는 패싯을 위해 필요하지 않다면 또한 핵심 '검색'모듈을 제거해야하고, 설치된 경우 사이트의 데이터베이스에 추가 쓰레기를 저장하는 것입니다.

SOLR 서버를 구성합니다

다음과 같이 변경하고, 검색 API 구성 페이지를 방문하여 기본 SOLR 서버 편집 :

  • collection1로 변경 'SOLR 코어'(기본값은 D8입니다).

노트. 기본 SOLR 코어의 이름이 자동으로 D8하도록 설정되어 드루팔 VM의 최신 버전은 더 이상 (이 PR 참조),이 단계가 필요하지 않습니다.

이 시점에서, 서버의 상태 페이지 (/ 관리 / 설정 / 검색 / 검색 API / 서버 / default_solr_server), 당신이는 "SOLR 코어에 액세스 할 수있다"는 "SOLR 서버에 도달 할 수있다"는 메시지를보고한다 :

이 작업이 완료되면, (drush @ drupalvm.drupalvm.dev PMU -y search_api_solr_defaults)을 SOLR 검색 기본 모듈을 제거; 초기 설치 후 SOLR 서버의 구성은 이제 사이트의 활성 구성 저장소의 일부이며 삭제되지 않으므로이 모듈은 더 이상 필요하지 않습니다.

SOLR 인덱스를 구성

SOLR 검색 기본값 모듈은 웹 사이트에 게시 된 모든 노드를 포함하는 기본 콘텐츠 인덱스를 생성합니다. 우리의 경우, 그 모든 기본 페이지와 기사가 포함된다는 의미입니다.

당신은 색인 구성에서 아무것도 변경할 필요하지 않지만 당신은 주위에 찌르기를 가지고 그것을 설정하고 어떤 옵션 데이터 소스의 관점에서가, 필드, 또는 프로세서, 방문 / 관리 / 설정 어떻게보고 싶다면 / 검색 / 검색 API / 인덱스 / default_solr_index / 편집.

(당신이 어떤이없는 경우) 기본 콘텐츠 추가

당신은 드루팔 VM을 사용하여이 사이트를 구축 가정, 그것은 어떤 내용이 전혀 색인되지하기로 사이트가, 불모입니다 가능성이 높습니다. 이 문제를 해결하려면, 당신은 (STABLE) 모듈의 편리한 동반자를 사용할 수 있습니다 (STABLE)는 생성 :

  1. 사용 (STABLE)는 생성 : drush @ drupalvm.drupalvm.dev 엔 -y devel_generate
  2. 더미 콘텐츠를 생성 : drush의 @의 drupalvm.drupalvm.dev 생성 콘텐츠 (100)
    • 주 :이 글을 쓰는 시점에서, Drush 명령은 생성 된 내용을 초래하지 않았다. Drush 명령이 컨텐츠를 생성하지 않는 경우 / 관리 / 설정 / 개발에서 UI를 사용하여 / / 컨텐츠를 생성합니다.

    지금 당신은 당신이 색인 및 검색 할 수있는 노드의 무리가있다!

    검색 색인을 확인을하고있다

    그것은 당신의 생산 SOLR 서버를 검색 할 사용할 수 있습니다 갓 인덱싱 된 콘텐츠하기 전에 몇 분을 기다려야 수 있도록하는 것이 가장 좋습니다; 이 방법으로 검색을 좀 더 성능이 좋은 SOLR이 업데이트 작업을 일괄 처리 할 수있는 있습니다. 드루팔 VM의 구성이 드루팔은 콘텐츠를 전송 후 즉시 검색 인덱스의 업데이트 할 SOLR을 알 수 있도록 그러나 지역 개발이 인덱스는 테스트 용 최신 가능한 한 빨리 할 수있는 것이 좋다.

    그래서, 당신은 (STABLE)으로 컨텐츠를 생성하면 생성 한 후 기본 검색 색인 (/ 관리 / 설정 / 검색 / 검색 API / 색인 / default_solr_index)에 대한 색인 상태 페이지를 방문, 당신은 색인이 사이트의 모든 내용을 볼 수 :

    기존 사이트 작업을하거나하는 경우 모든 내용은 아직 어떤 이유로 인덱싱되지 않은 경우, 당신이 할 수있는 수동으로 인덱스 '인덱스 지금'버튼을 클릭하고 작업이 완료 될 때까지 기다리는 모든 내용.

    인덱싱 속도가 사이트의 복잡성에 따라 달라질 수 있습니다. 당신이 많은 복잡한 노드 유형 및 수천 또는 노드의 수백만의 수백 개의 사이트가있는 경우 색인을 위해보다 효율적인 방법을 사용해야합니다, 그렇지 않으면 당신은 모든 콘텐츠를 검색 할 수 기다리고 달 수 있습니다!

    면 처리 SOLR 검색보기 확인

    SOLR 검색 기본 모듈은 / SOLR 검색 / 컨텐츠에 액세스 할 수 있습니다 예를 들어 뷰 기반의 검색 페이지를 만듭니다. 콘텐츠가 SOLR (! 그것을 밖으로 시도)에 색인되어 있기 때문에 그것은 이미 기능해야한다 :

    많은 사이트의 경우, 일반적으로 키워드 기반 사이트 검색 이런 종류의 당신이 이제까지 필요할 것 모든이다. 그러나 우리는 조금 그것을 가문비 나무 및 경로를 변경하고 콘텐츠 유형 패싯을 추가하여 더 많은 기능을 만들 수 있습니다.

    첫째, 방문 / 관리 / 구조 / 뷰 / 뷰 / solr_search_content하여보기를 수정합니다

    1. '검색'(대신 '콘텐츠 검색')으로 제목을 변경합니다.
    2. '/ 검색'(대신 '/ SOLR 검색 / 컨텐츠')의 경로를 변경합니다.
    3. '저장'을 클릭합니다.

    둘째, / 관리 / 설정 / 검색 /면을 방문하여 패싯 콘텐츠 유형을 만듭니다

    1. '면 추가'를 클릭합니다.
    2. (이 방금 편집이다) ',보기 SOLR 검색 내용 페이지 표시'를 선택 패싯 소스를.
    3. 패싯의 필드에 대한 '콘텐츠 유형 (유형)'를 선택합니다.
    4. (이 나중에 블록을 배치에 도움이 될 것입니다) - 패싯 '콘텐츠 유형 검색 패싯을'이름을 지정합니다.
    5. '저장'을 클릭합니다.
    6. 패싯 편집 페이지 :
    1. '결과의 양을 표시'옆의 확인란을 선택합니다.
    2. '목록 항목 레이블'확인란을 선택합니다 (이 패싯 쇼 대신 'page' - 라벨 대신 각 항목에 대한 컴퓨터 이름의'기본 페이지 '만들 것입니다).
    3. '저장'을 클릭합니다.

    패싯은 이제 검색보기가 렌더링 될 때 나타납니다 귀하의 주제에 배치 할 준비가되어 있습니다. 블록 레이아웃 구성 페이지 (/ 관리자 / 구조 / 블록)를 방문하고면 표시 할 지역의 지역 블록 '을 클릭합니다. 내 주제에, 나는 '사이드 바 첫 번째'지역을 선택했다.

    '검색 패싯 - 콘텐츠 유형'찾기 (방금 만든 패싯을)와 '장소 블록'을 클릭합니다. 그런 다음 '유형으로 필터'와 같은 뭔가 블록의 제목을 설정하고 '저장 블록'을 클릭합니다. 표시하는 데 필요한 페이지에 결과가 검색되지 않는 경우는 패싯이 전혀 표시하지 않도록 설정되어 있기 때문에 블록에 대한 특정 가시성 제약 조건을 설정할 필요가 없습니다.

    블록 레이아웃 페이지에서 '저장 블록'을 클릭 한 다음 / 검색에서 귀하의 사이트 전체 검색 페이지를 방문하십시오

    검색을 수행 할 경우, 당신은 패싯의 결과 카운트 따라 조정됩니다 알 수 있습니다 :

    이 시점에서, 당신은 당신의 드루팔 (8) 사이트에서 완벽하게 작동면 처리 SOLR 검색을해야한다. 여기에서, 당신은 (? 대신 전체 렌더링 된 내용 어쩌면 콘텐츠 티저) 다른 결과를 출력에 추가 작업을 검색 페이지를 사용자 정의 할 수 있으며, 검색 작업을 위해 더 많은 측면 (날짜, 저자, 분류 용어 등)을 추가 정확하게 당신이 원하는!

    다음 단계

    사용하는 사이트에 대한 아파치 SOLR 검색 코어를 제공하지 않습니다 호스팅 제공 업체, 당신은 사이트의 SOLR 검색 코어를 호스트하기 위해 호스팅 아파치 SOLR 사용을 고려할 수있는 경우; 그것은 드루팔 VM에 사용되는 것과 비슷한 설정을 사용하고, 내가 서비스를 실행하기 때문에 나는 그것을 위해 보증 할 수 :)

    검색 API 모듈이 블로그 게시물의 등 아직 베타 있습니다; 사소한 세부 사항은 위의 스크린 샷과 설명에서 차이가 발생할 수 있습니다.

    당신 포괄적 인 지침을 주셔서 감사합니다. 나는 그것을 통해 내 방식대로 일하고 있어요 및 스키마에 붙어 조금 입수했습니다. 나는 방랑, 가상 상자를 설치하고 SOLR와 드루팔 사이트 및 실행을 가지고있다. 내가 드루팔에 SOLR 서버 페이지를 볼 때, 내 스키마는 웹 사이트의 예 - 데이터 기반 스키마가 아닌 드루팔-4.5-SOLR-5.x를합니다. 또한 말 드루팔 내 SOLR 서버 페이지의 상단에 통지해야 "당신은 호환되지 않는의 schema.xml 구성 파일을 사용하고 있습니다. SOLR을 설정하기위한 INSTALL.TXT 파일의 지침을 따르십시오." 하지만 난 INSTALL.TXT의 스키마에 대한 참조 언급을 볼 수 없습니다. 나는 스키마가 방랑 설정 파일에 나와있는 위치를 확인하는 것을 시도했다, 그러나 아무것도 볼 수 없습니다. 당신은 내가 변경 가야 할 곳으로 나를 인도 할 수 있습니다.

    나는 윈도우 10 시스템에서이를 실행하고 있습니다. 나는 당신의 방랑 파일로 SOLR 5.5으로 시도하고, 또한 SOLR 6.3 시도

    사전에 어떤 도움을 주셔서 감사합니다.
    GH

    후속, 나는 / var에있는 모든 파일을 삭제하여 위의 문제를 해결 / SOLR / 데이터 / collection1 / conf의 / 모든 파일은 / var에서 복사 / www /에서 drupalvm / 드루팔 / 웹 / 모듈 /있는 contrib / search_api_solr / SOLR -conf / 6.x의는 / 이전 디렉토리를 언급합니다. 이것은 그들이 "SOLR를 시작하기 전에"에 대해 이야기 지역에 모듈 /있는 contrib / search_api_solr / INSTALL.TXT에서 파일에 언급되어있다. 나는 SOLR 그냥 새로 시작 후 이런 짓을.

    이 비디오를 시청!

    관련 기사

    사용자 정의 검색 블록 드루팔 호스팅2015년 5월 26일에 수잔 로지에 의해 게시 2015-05-26T14 : 28 : 40 + 00 : 00 드루팔 여러 가지의 표시 블록을 보유하고 사이드 바, 바닥 글 및 헤더를 포함한 여러 지역에서 웹 페이지를 분할 ...
    보기 검색 모듈 드루팔 호스팅안녕하세요, 및 DrupalModules.com에 오신 것을 환영합니다, 지역 사회 구동 평가 및 검토 서비스는 당신이 당신의 프로젝트에 가장 적합한 드루팔 모듈을 찾을 수 있도록 최선을 다하고! 권리 드루팔을 찾는 데 도움이 필요 ...
    필드 도구 드루팔 호스팅효과적인 검색 서론 구현은 개발에서 가장 어려운 작업 중 하나입니다, 그러나 또한 많은 웹 사이트와 응용 프로그램의 성공의 열쇠입니다. 빠른 검색 및 ...
    드루팔은 SSL을 사용하여 호스팅HTTPS는 HTTP 요청과 응답을 암호화하는 프로토콜입니다. 이 경우 누군가가 당신의 컴퓨터와 당신이 요청하는 서버 사이의 네트워크를 손상 할 수 있었다 보장 ...
    팀 밀우드 드루팔 호스팅그것의 학습 곡선은 악명하지만 팀 밀우드 드루팔 그 무시 무시한하지 않고, 당신이 필요한 작업 보드 지식을 구축하는 데 사용할 수있는 방법을 보여줍니다 주장한다. 기본 웹 개발 및 ...