Kuruluşların kendine özgü bir terminolojiye veya bir kavrama ya da şeye atıfta bulunmak için birden fazla farklı yöntemine sahip olması yaygın bir durumdur. Kullanıcıların arama yaparken öğeleri bulmasına yardımcı olmak için terimlerin denkliğini sağlamak amacıyla eş anlamlılar tanımlamanız gerekir.
Eş anlamlılar, _dictionaryEntry
iyi bilinen şemasına sahip öğelerin dizine eklenmesiyle tanımlanır.
_dictionaryEntry
türündeki öğeler aşağıdaki özelliklere sahip olabilir:
Özellik | Tür | Açıklama | Zorunlu mu? |
---|---|---|---|
_term |
string | Tanımlanacak terim. Önerilen değerler, kısa çizgi kullanılmamış kelimeler veya noktalama işareti içermeyen kelime öbekleridir. | Gerekli |
_synonym |
string (repeated) | _term politikasında tanımlanan dizeyle eşleşen sorgulara dahil edilecek alternatif terimler. |
Gerekli |
_onlyApplicableForAttachedSearchApplications |
boolean | Eş anlamlıları veri kaynağına ve arama uygulamasına göre gruplandırmanıza olanak tanır. Daha fazla bilgi için Veri kaynağına özel eş anlamlıları tanımlama bölümüne bakın. | İsteğe bağlı |
Bir kullanıcı, _term
özelliğinin değerini bir sorguya eklediğinde etkili sorgu "terim VEYA eş anlamlılar" haline gelir. Örneğin, "scifi" terimi "science fiction" eş anlamlısıyla tanımlanırsa "scifi" kelimesini içeren bir sorgu "scifi" veya "science fiction." içeren öğelerle eşleşir
Eş anlamlılar çift yönlü olarak uygulanmaz. Sorgu "science fiction," içinse Cloud Search sorguya herhangi bir eş anlamlı uygulamaz. Sorgu yalnızca "science fiction." içeren öğelerle eşleşir ve "scifi" içeren öğeler atlanır.
Her iki terimi de birbirinin yerine kullanılabilir hale getirmek için her terimi ayrı ayrı tanımlayın:
Terim | Eş anlamlılar |
---|---|
scifi | science fiction |
science fiction | scifi |
Sorgu işleme sırasında, eş anlamlılar uygulanmadan önce kısa çizgi ve diğer noktalama işaretleri kaldırılır. "sci-fi" kullanıcı sorgusu _term
ile eşleşiyor "sci fi."
Kullanıcılar tarafından kısa çizgi oluşturulabilecek terimlerin eş anlamlılarını oluşturmak için önce _term
kodunu, kısa çizgi yerine boşluk kullanılacak şekilde normalleştirin.
Örneğe devam edersek aşağıdaki tanımlar, "sci-fi," "sci fi," "scifi," ve "science fiction" öğelerini birbirinin yerine kullanılabilir olarak ele alan kullanıcı sorgularıyla eşleşir:
Terim | Eş anlamlılar |
---|---|
scifi | science fiction, sci fi |
sci fi | science fiction, scifi |
science fiction | scifi, sci fi |
Varsayılan olarak, herhangi bir veri kaynağındaki eş anlamlılar alanın tamamında geçerlidir. Özellikle eş anlamlılar, veri kaynağından bağımsız olarak tüm aramalar için arama uygulamalarında uygulanır. Veri kaynağına özgü eş anlamlılar istiyorsanız Veri kaynağına özgü eş anlamlıları tanımlama bölümüne bakın.
Cloud Search SDK'yı kullanarak küresel eş anlamlılar tanımlama
Terimleri ve eş anlamlılarını tanımlamak için Content Connector SDK'sını kullanabilirsiniz. Bağlayıcı oluşturma talimatları için İçerik bağlayıcısı oluşturma bölümüne bakın.
Aşağıdaki snippet'te, bir CSV dosya kaydına göre terimi ve eş anlamlıyı temsil eden bir RepositoryDoc
oluşturulması gösterilmektedir:
Eş anlamlıları tanımlarken aşağıdakilere dikkat edin:
- Eş anlamlı girişlerinin alan geneline açık olması gerekir. Yukarıdaki örnekte EKL'nin
DOMAIN_PUBLIC_ACL
olarak ayarlanmasıyla bu işlem gerçekleştirilir. - Aşağıdaki özellikler, kodunuzdaki alan herkese açık ayarını geçersiz kılacağından yapılandırma dosyanız için tanımlanmamalıdır:
defaultAcl.mode=FALLBACK
defaultAcl.public=true
Arama uygulamasına özel eş anlamlıları tanımlama
Varsayılan olarak, eş anlamlı kelimeler tüm arama uygulamalarındaki tüm veri kaynaklarına uygulanır.
Ancak, kuruluşunuzun ayrı mühendislik ve satış ekipleri olduğunu ve her ekibe, işe özgü eş anlamlılar dahil olmak üzere farklı bir arama deneyimi sunmak istediğinizi varsayalım. Bu durumda, mühendisliğe özgü veri kaynağı ve eş anlamlıları içeren bir arama uygulaması ve satışa özel veri kaynağı ile eş anlamlıları içeren başka bir arama uygulaması oluşturabilirsiniz. Bu hedefe ulaşmak için _onlyApplicableForAttachedSearchApplications=true
kullanarak belirli bir veri kaynağındaki her eş anlamlıyı dizine ekleyin. Bu ayar, eş anlamlıları yalnızca belirli bir veri kaynağını içeren arama uygulamalarına uygulanacak şekilde sınırlandırır.
Örneğin, aşağıdaki kod satırını önceki kod örneğine eklemek, dizine eklenen eş anlamlıların veri kaynağına özgü olmasını sağlar:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);