Kuruluşların bir kavramı veya şeyi ifade etmek için benzersiz terminolojiye veya farklı yollara sahip olması yaygın bir durumdur. Kullanıcıların arama yaparken öğeleri bulmasına yardımcı olmak amacıyla terimlerin eşdeğerliğini sağlamak için eş anlamlılar tanımlamanız gerekir.
Eş anlamlılar, iyi bilinen _dictionaryEntry
ş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, noktalama işareti içermeyen kelimeler veya 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 özgü 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 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." kelimelerini içeren öğelerle eşleşir.
Eş anlamlılar çift yönlü uygulanmaz. Bunun yerine "science fiction," sorgusu için arama yapılırsa Cloud Search sorguya herhangi bir eş anlamlı uygulama yapmaz. Sorgu yalnızca "science fiction." içeren öğelerle eşleşirse "scifi" içeren öğeler atlanır.
Her iki terimin birbirinin yerine kullanılabilmesini sağlamak 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 tire işareti ve diğer noktalama işaretleri kaldırılır. "sci-fi" kullanıcı sorgusu, _term
"sci fi." ile eşleşir.
Kullanıcılar tarafından kısa çizgiyle yazılabilecek terimlerin eş anlamlılarını oluşturmak için önce kısa çizgi yerine boşluk kullanılacak şekilde _term
normalleştirin.
Örnekten devam edersek, aşağıdaki tanımlar "sci-fi," "sci fi," "scifi," ve "science fiction" için birbirinin yerine kullanılabilir:
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 tüm alan genelinde 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'sını kullanarak global 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, bir CSV dosyası kaydına göre terimi ve eş anlamlıyı temsil eden bir RepositoryDoc
oluşturmayı göstermektedir:
Eş anlamlıları tanımlarken aşağıdakilere dikkat edin:
- Eş anlamlı girişlerinin alanda herkese açık olması gerekir. Yukarıdaki örnekte bu işlem EKL'nin
DOMAIN_PUBLIC_ACL
olarak ayarlanmasıyla gerçekleştirilir. - Aşağıdaki özellikler, kodunuzdaki herkese açık alan ayarını geçersiz kıldığından yapılandırma dosyanız için tanımlanmamalıdır:
defaultAcl.mode=FALLBACK
defaultAcl.public=true
Arama uygulamasına özgü eş anlamlıları tanımlayabilirsiniz.
Varsayılan olarak, tüm arama uygulamalarındaki tüm veri kaynaklarına eş anlamlılar uygulanır.
Ancak kuruluşunuzda ayrı mühendislik ve satış ekipleri olduğunu ve her ekibe iş rolüne ö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ı, satışa özgü veri kaynağı ve eş anlamlıları içeren başka bir arama uygulaması oluşturabilirsiniz. Bu hedefi gerçekleştirmek için belirli bir veri kaynağındaki her eş anlamlıyı _onlyApplicableForAttachedSearchApplications=true
kullanarak 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);