Bir kuruluşun benzersiz terminolojiye veya bir kavrama ya da nesneye atıfta bulunmanın birden fazla yoluna sahip olması yaygındır. Kullanıcıların arama yaparken öğeleri bulmasına yardımcı olmak için terimlerin eşdeğerliğini belirlemek üzere eş anlamlı kelimeler tanımlamanız gerekir.
Eş anlamlılar, öğeler _dictionaryEntry
bilinen şemasıyla dizine eklenerek tanımlanır.
_dictionaryEntry
türündeki öğeler aşağıdaki özelliklere sahip olabilir:
Mülk | Tür | Açıklama | Zorunlu mu? |
---|---|---|---|
_term |
string | Tanımlanacak terim. Önerilen değerler, kısa çizgi kullanılmayan kelimeler veya noktalama işareti içermeyen kelime öbekleridir. | Zorunlu |
_synonym |
string (repeated) | _term içinde tanımlanan diziyle eşleşen sorgulara dahil edilecek alternatif terimler. |
Zorunlu |
_onlyApplicableForAttachedSearchApplications |
boolean | Eş anlamlı kelimeleri veri kaynağına ve arama uygulamasına göre gruplandırmanıza olanak tanır. Daha fazla bilgi için Veri kaynağına özgü eş anlamlı kelimeleri tanımlama başlıklı makaleyi inceleyin. | İsteğe bağlı |
Bir kullanıcı _term
mülkünün değerini bir sorguya dahil ettiğinde etkili sorgu "terim VEYA eş anlamlılar" olur. Ö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ı kelimeler iki yönlü olarak uygulanmaz. Sorgu bunun yerine "science fiction," içinse Cloud Search, sorguya herhangi bir eş anlamlı kelime uygulamaz. Sorgu yalnızca "science fiction." içeren öğelerle eşleşir. "scifi" içeren öğeler atlanır.
Her iki terimi de birbirinin yerine kullanabilmek için her terimi ayrı olarak tanımlayın:
Terim | Eş anlamlılar |
---|---|
scifi | science fiction |
science fiction | scifi |
Sorgu işleme sırasında, eş anlamlılar uygulanmadan önce tire ve diğer noktalama işaretleri kaldırılır. Kullanıcı sorgusu "sci-fi"
_term
ile eşleşiyor "sci fi."
Kullanıcılar tarafından kısa çizgiyle ayrılmış olabilecek terimler için eş anlamlı kelimeler oluşturmak istiyorsanız önce _term
'yi kısa çizgi yerine boşluk kullanacak şekilde normalleştirin.
Örneğe devam edersek aşağıdaki tanımlar, "sci-fi," "sci fi," "scifi," ve "science fiction" değerlerini birbirinin yerine kullanılabilecek şekilde 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çerli olur. Özellikle, eş anlamlılar veri kaynağından bağımsız olarak tüm aramalar için arama uygulamalarına uygulanır. Veri kaynağına özgü eş anlamlı kelimeler istiyorsanız Veri kaynağına özgü eş anlamlı kelimeler tanımlama başlıklı makaleyi inceleyin.
Cloud Search SDK'sını kullanarak genel eş anlamlı kelimeleri tanımlama
Terimleri ve eş anlamlılarını tanımlamak için Content Connector SDK'sını kullanabilirsiniz. Bağlayıcı oluşturmayla ilgili talimatlar için İçerik bağlayıcısı oluşturma başlıklı makaleyi inceleyin.
Aşağıdaki snippet'te, bir CSV dosyası kaydına dayalı terimi ve eş anlamlısını temsil eden bir RepositoryDoc
oluşturulması gösterilmektedir:
Eş anlamlı kelimeleri tanımlarken aşağıdakilere dikkat edin:
- Eş anlamlı kelime girişlerinin alan adının herkese açık olması gerekir. Önceki örnekte bu, ACL'nin
DOMAIN_PUBLIC_ACL
olarak ayarlanmasıyla gerçekleştirilmiştir. - Aşağıdaki özellikler, kodunuzdaki alan herkese açık ayarını geçersiz kıldığı için yapılandırma dosyanız için tanımlanmamalıdır:
defaultAcl.mode=FALLBACK
defaultAcl.public=true
Arama uygulamasına özel eş anlamlı kelimeleri tanımlama
Eş anlamlılar varsayılan olarak tüm arama uygulamalarındaki tüm veri kaynaklarına uygulanır.
Ancak kuruluşunuzda ayrı mühendislik ve satış ekipleri olduğunu ve her ekibe iş rolüne özel eş anlamlılar da dahil olmak üzere farklı bir arama deneyimi sunmak istediğinizi varsayalım. Bu durumda, mühendisliğe özgü bir veri kaynağı ve eş anlamlı kelimeler içeren bir arama uygulaması ve satışa özgü bir veri kaynağı ve eş anlamlı kelimeler içeren başka bir arama uygulaması oluşturabilirsiniz. Bu hedefe ulaşmak için _onlyApplicableForAttachedSearchApplications=true
kullanarak her eş anlamlıyı belirli bir veri kaynağında dizine ekleyin. Bu ayar, eş anlamlı kelimeleri yalnızca belirli bir veri kaynağı içeren arama uygulamalarına uygulanacak şekilde sınırlandırır.
Örneğin, önceki kod örneğine aşağıdaki kod satırını eklemek, dizine eklenen eş anlamlı kelimelerin veri kaynağına özgü olmasını sağlar:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);