분류 API 동의어를 Search API와 강력하게 작동시키는 방법은 무엇입니까?


20

태그 동의어 (예를 들어, 여기 StackExchange에 사용) 많은 사이트에서 인기있는, 중요한 기능이며, 분류 동의어 전에, 드루팔 6의 핵심 분류 모듈의 일부로 사용 하게 사용자 정의 동의어 시스템 "자신의 롤"찬성 낙하 Field API 사용 .

동의어가 안정적으로 작동하면 검색에 매우 유용합니다. 예를 들어 "미국"을 검색하면 "USA"로 태그가 지정된 컨텐츠를 찾을 수 있습니다. 그러나 인기있는 검색 API - Facet API를 사용할 때 표준 기능이이 기능을 구현하는 방법에 대한 리드는 찾을 수 없습니다. 노드 검색을위한 관련 통합 검색 모듈 제품군.

이와 같은 모듈 클러스터로 작업 할 때는 "흐름에 따라 가기"가 중요합니다. 구현하는 시스템이 커뮤니티와 모듈 관리자의 생각에 반하지 않도록하십시오. 그들이 곡물에 반대 할 때, 그들은 이러한 모듈에 대한 추후의 변경으로 인해 결함이 있고 부서 질 위험이 있습니다.

Search API를 사용하는 사이트에 대해 D7에서 분류법 동의어를 구현하기위한 신뢰할 수있는 / 견고한 / 표준 / 예상 방법은 무엇입니까? (특히 Search API Solr 을 사용하지만 특정 검색 공급자를 추출하려는 Search API의 시도가이 경우에 효과가 있기를 바랍니다).

이것에 대한 시스템이 작동하는 것처럼 보이지만 알아 낸 것으로 곡물에 반대인지 확실하지 않은 경우 (드루팔에서 일반적 임), 귀하의 정보와 공유하십시오. Search API-Facet API 제품군의 기능 및 기능에 대한 테스트, 사용 및 경험.

내가 연구에서 찾은 그럴듯하지만 잠재적 인 약점 옵션 :

  • D7 Search Synonyms 모듈이 있지만 거의 사용 되지 않는 것으로 보이며 Search API와 같은 타사 검색 모듈과 작동하는지 계속 확인할없습니다 (Drupal 핵심 검색을 염두에두고 설계되었습니다). 편집 : 또한 D7에서 일반적으로 너무 신뢰할만한 것으로 보이지 않습니다 .
  • 이론적으로 "동의어"라는 용어 참조 필드를 분류 용어에 추가하고 검색 API의 용어에서이 필드를 노드 자체의 용어와 동일한 가중치로 색인화 할 수 있습니다. 이것은 텍스트 검색에는 효과가 있지만 전체 Search API 제품군에 원활하게 연결되는 강력한 기능보다는 얕은 MacGuyver-y 덕트 테이프 솔루션처럼 느껴집니다. 예를 들어 '영국'이라는 용어에 '영국'이라는 동의어가있는 경우 '영국'을 검색하는 사람은 United Kindgom으로 태그가 지정된 결과를 얻지 만 '영국인'을 자동 완성 분류법 노출 필터에 입력하거나 분류 사실이있는 영국을 선택하는 사람 "영국"태그가 지정된 콘텐츠를 볼 수 없습니다. *****
  • 다른 유사한 가능성은 용어 어휘 (또는 쉼표로 구분 된)에 다중 값 일반 텍스트 필드 "동의어"를 추가하고 위의 용어 이름과 동일한 가중치로 색인을 생성하는 것입니다. 그러나 위의 예에서 위와 비슷한 문제가 발생하지만 "영국"은 패싯 또는 노출 된 필터에 옵션으로 표시되지 않습니다. 이름과 동의어 ( "영국 (영국)")를 결합하여 복합 필드를 작성하고이를 사용하도록 패싯 / 노출 된 필터 / 등을 설정하는 방법이있을 수 있지만 ... 걱정스럽게 해 키지 않고 곡물에 대해 걱정하지 않는 것이 좋습니다. 편집 : Search API Combined 는 이런 식으로 설계된 것으로 보이지만
  • 그런 다음 모든 용어를 용어 이름에 넣는 최후의 수단 옵션이 있습니다. 이는 바람직하지 않으며 많은 경우 매우 추악한 목록을 만들 것입니다 (예 : "North와 같이 작성된 국가의 탐색 목록을 상상해보십시오) 한국 (PRK, 조선 민주주의 인민 공화국) "...). 또는 짧은 버전을 표시하는 "표시 이름"필드가 있고 검색을 제외한 모든 항목 (모든 뷰, Pathauto, 용어 이름을 사용하는 다른 모든 contrib / core 모듈)을 설정하여 용어 이름 대신 다시 사용하도록 설정하십시오. 매우 해키와 곡물에 매우 반대입니다.
  • Apache Solr에는 동의어 기능이 있습니다. 여기서 동의어의 텍스트 파일을 읽고이 용어는이를 사용하는 검색에서 동의어로 취급됩니다. 그러나 Solr을 사용하는 Search API 설정에서는 가능하지만 모듈 관리자는 '자신의 위험으로 시도'고급 Solr 구성을 지원하지 않는 것으로 간주됩니다 . 또한 분류법의 맥락에서 동의어보다 사이트 언어 의 일반 동의어에 더 적합합니다 . 예를 들어, 영국, 영국 등을 구별하지 않는 분류 체계가있는 사이트는 태그 지정과 관련하여 동의어를 고려하지만 본문 검색과 관련하여 동의어로 간주하지 않을 수 있습니다. 편집 : 헤드 패싯 API 관리자 가이 경로에 대해 경고합니다. Solr 통합 모듈은 텍스트가 아닌 TID와 같은 용어로 작동합니다.

영국 / 영국의 경우 일반적으로 국가가 하나 또는 다른 하나만있는 목록을 사용하는 데 익숙하기 때문에 이것이 잘못된 예라는 것을 알고 있습니다. 사람들이 동의어를 찾지 않을 것 같은 간단한 사례 (예 : 제품 카테고리)가 많이 있습니다.

업데이트 : Drupal.org Facet API 대기열의 새 스레드 관련 정보 . 또한 Search API queue 의 (현재 답변되지 않은) 스레드입니다 .

(drupal.org 지원 요청과 drupal이 동일한 주제에 대한 질문에 답할 수 있는지 궁금해하는 규칙 변호사 : 예, 실제로 모듈 관리자에게 압력을 가하는 것이 좋습니다 )


1
이것에 대한 해결책을 찾았습니까? 나는 지금이 정확한 문제가 있습니다.
vishal

답변:


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.