Bagaimana agar sinonim taksonomi bekerja dengan API Pencarian?


20

Sinonim tag adalah fitur yang populer dan penting di banyak situs (digunakan di sini di StackExchange, misalnya), dan sinonim taksonomi digunakan untuk menjadi bagian dari modul taksonomi inti Drupal 6, sebelum dibatalkan karena sistem sinonim ubahsuaian "Gulung sendiri" dibuat. menggunakan API Bidang .

Ketika sinonim bekerja dengan andal, mereka sangat berguna dalam pencarian; misalnya, untuk memastikan bahwa pencarian "Amerika" menemukan konten yang ditandai "AS", dll. Namun, saya tidak dapat menemukan petunjuk apa pun tentang metode standar untuk mengimplementasikan fitur ini ketika bekerja dengan API Pencarian populer - Facet API keluarga modul pencarian terintegrasi terkait, untuk pencarian Node.

"Mengikuti arus" penting ketika bekerja dengan kelompok modul seperti ini, untuk memastikan bahwa sistem yang Anda terapkan tidak bertentangan dengan pemikiran masyarakat dan pengelola modul. Ketika mereka melawan arus, mereka serpihan dan berisiko rusak oleh perubahan di masa depan untuk modul ini.

Apa metode yang dapat diandalkan / kuat / standar / diharapkan untuk menerapkan sinonim taksonomi di D7 untuk situs yang menggunakan API Pencarian? (khususnya, dengan Pencarian API Solr , tapi saya berharap bahwa upaya Pencarian API untuk abstrak penyedia pencarian tertentu akan bekerja dalam kasus ini).

Jika Anda memiliki sistem untuk ini yang tampaknya berfungsi, tetapi ini adalah sesuatu yang Anda temukan dan Anda tidak yakin apakah itu bertentangan atau tidak (tidak biasa di Drupal), silakan tetap membagikannya dengan informasi dari Anda pengujian, penggunaan, dan pengalaman fitur dan modul mana dalam keluarga API Pencarian-API Faset yang berfungsi dan tidak berfungsi dengan baik.

Beberapa opsi masuk akal tetapi berpotensi flakey yang saya temukan dalam penelitian:

  • Ada modul Sinonim Pencarian D7 , tetapi tampaknya sedikit digunakan, dan tidak ada konfirmasi itu berfungsi atau akan terus bekerja dengan modul pencarian pihak ke-3 seperti Search API (itu dirancang dengan pencarian inti Drupal dalam pikiran). Sunting: juga tidak terlihat terlalu dapat diandalkan di D7 secara umum .
  • Secara teori dimungkinkan untuk menambahkan bidang referensi istilah yang disebut "Sinonim" ke kosakata taksonomi, dan mengindeks bidang ini dari istilah di API Pencarian dengan bobot yang sama dengan istilah pada node itu sendiri. Ini akan berfungsi untuk pencarian teks, tetapi terasa seperti solusi saluran-pita MacGuyver-y yang dangkal daripada sesuatu yang kuat yang dengan lancar dimasukkan ke seluruh keluarga API Pencarian. Misalnya, jika istilah "Inggris" memiliki sinonim "Inggris", seseorang yang mencari di 'Inggris' akan mendapatkan hasil yang ditandai dengan United Kindgom, tetapi seseorang mengetik "Inggris" ke filter taksonomi terpapar autocomplete atau memilih Inggris dengan fakta Taksonomi tidak akan melihat konten apa pun yang ditandai dengan "United Kingdom". *****
  • Kemungkinan lain yang serupa adalah menambahkan bidang teks biasa multi-nilai "Sinonim" ke istilah kosakata (atau bahkan dipisahkan dengan koma, saya kira), dan mengindeksnya dengan bobot yang sama dengan nama istilah seperti di atas. Tetapi ini memiliki masalah yang serupa, jika tidak lebih buruk, dengan contoh di atas dalam contoh di atas, "Britania" bahkan tidak akan terdaftar sebagai opsi dalam filter facet atau terbuka. Mungkin ada beberapa cara untuk membuat bidang komposit dengan menggabungkan nama dan sinonim ("Inggris Raya (Inggris, Inggris)"), dan mengatur facet / filter terbuka / dll untuk menggunakannya ... tapi saya tidak bisa memikirkan cara apa pun untuk melakukan ini yang tidak mengkhawatirkan dan yang tidak mengkhawatirkan. Sunting: Pencarian API Combined tampaknya dirancang untuk sesuatu seperti ini, tetapi saya
  • Lalu ada pilihan terakhir hanya menjejalkan semuanya ke dalam nama istilah: harus jelas bahwa ini tidak diinginkan dan dalam banyak kasus akan membuat daftar yang sangat jelek (mis. Bayangkan daftar navigasi negara-negara yang dituliskan seperti "Utara Korea (PRK, DPRK, Republik Rakyat Demokratik Korea) "...). Atau memiliki bidang "Nama tampilan" yang menunjukkan versi singkat, dan mengatur segala sesuatu kecuali pencarian (semua Tampilan, Pathauto, setiap modul kontrib / inti lain yang menggunakan nama istilah) untuk menggunakan ini alih-alih nama istilah ... sekali lagi, sangat kasar dan sangat bertentangan dengan keinginan.
  • Apache Solr memiliki fitur Sinonim, di mana file teks sinonim dibaca dan istilah ini diperlakukan sebagai sinonim di seluruh pencarian yang menggunakannya. Namun, sementara dimungkinkan dalam pengaturan API Pencarian yang menggunakan Solr, ini dianggap oleh pengelola modul tidak didukung 'upaya risiko sendiri' konfigurasi Solr lanjutan . Selain itu, lebih tepat untuk sinonim umum dalam bahasa situs daripada sinonim khusus dalam konteks taksonomi. Misalnya, situs dengan taksonomi yang tidak membeda-bedakan Inggris, Skotlandia, dll dari Inggris mungkin ingin menganggapnya sama dalam konteks pemberian tag, tetapi tidak sama dalam konteks pencarian pada isi teks. Sunting: Kepala pengelola Facet API memperingatkan rute ini sebagai modul integrasi Solr bekerja dengan istilah sebagai Tid bukan teks.

Saya sadar bahwa ini adalah contoh cacat karena dalam kasus Inggris / Inggris, dan negara-negara pada umumnya, orang terbiasa menggunakan daftar yang hanya memiliki satu atau yang lain. Ada banyak kasus yang kurang sederhana (misalnya kategori produk) di mana orang tidak akan berpikir untuk mencari sinonim.

Pembaruan: Info yang relevan di utas baru di antrean Drupal.org Facet API . Juga utas (saat ini belum dijawab) pada antrian Pencarian API .

(ada peraturan yang dibuat pengacara yang bertanya-tanya apakah tidak masalah jika ada permintaan dukungan drupal.org dan drupal menjawab pertanyaan tentang topik yang sama: ya, itu sebenarnya didorong untuk menghilangkan tekanan dari pengelola modul )


1
apakah Anda menemukan solusi untuk ini? Saya punya masalah persis ini sekarang.
vishal

Jawaban:


2

Saya telah menggunakan modul Sinonim yang sangat baik dari bojanz . Ini adalah penulisan ulang lengkap fungsi sinonim D6, dengan sejumlah lonceng dan peluit baru. Sepertinya itu mungkin melakukan sebagian besar dari apa yang Anda butuhkan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.