Configure Site Search for Drupal languages that aren't available as system languages by using language containers, Search Profiles, or Drupal Views. Choose the approach that matches your search configuration and whether you need language-specific stopwords and synonyms.
Note: If the language you need is available as a custom language, use Create and Manage Custom Languages in Site Search instead of the workaround paths in this article.
Prerequisites
You need a Drupal App with:
- Content indexed as fulltext fields with language-specific suffixes (e.g.,
title_txt_mk,body_txt_sr). Fulltext fields (using_txt_dynamic field suffix) enable proper text analysis for search relevancy. See Understanding Drupal field names in SearchStax. - The
ss_api_languagesfield populated with the appropriate language code
See Understanding Apps, Languages, and Search Profiles for background on how these components work together.
Choosing Your Approach
Use the following paths based on your search configuration approach and whether you need language-specific stopwords and synonyms.
Note: The number of Languages and Search Profiles available depends on your subscription plan. See Service Limits for details on understanding your plan's feature availability.
Path A: Language Container (Site Search Configuration)
Use when: You configure search behavior through Site Search and need language-specific stopwords and synonyms.
Use an existing supported language as a "container" (e.g., Latvian for Macedonian content), then configure Search Fields to use your actual language fields (*_txt_mk) and Data Filters to match ss_api_languages:mk.
Path B: Local Search Profile (Site Search Configuration)
Use when: You configure search behavior through Site Search but don't need language-specific stopwords and synonyms for the target language.
Create a Search Profile within your existing language (like English) and configure it for the target language's content. The profile will share the parent language's stopwords and synonyms.
Tip: Drupal Views can invoke specific Search Profiles, allowing you to route searches for different languages to their appropriate profiles. This is useful for multiple target languages when you need to direct users to the correct search experience. See Use and invoke different Search Profiles with Drupal Views for configuration details.
Path C: Drupal Views Only
Use when: You use SearchStax only as the search index and control all search behavior through Drupal Views or custom code. This path is specifically for Drupal implementations where language routing is already handled outside of Site Search.
If your Drupal setup already passes language parameters to SearchStax and you don't use Site Search for configuration, you can disable Site Search routing and handle language filtering entirely through Drupal.
Path A: Language Container
Click SAVE DRAFT and then PUBLISH after configuring each section.
- Choose a container language. Select any supported language you're not using (e.g., Latvian for Macedonian content). The container name is a label—your configuration determines which fields are searched.
- Add the container language. Add your container language via Site Search > App Settings > Languages.
- Identify your indexed fields. Find your language-specific field suffixes (e.g.,
title_txt_mk) andss_api_languagesvalue (e.g., "mk") from your Drupal configuration. - Configure Search Fields. Select your container language from the Profile Selector, then add your language-specific fields (e.g.,
*_txt_mk) in Search > Search Fields. - Configure Data Filters. Add an Include filter in Search > Data Filters:
ss_api_languagesequals your language code (e.g., "mk"). - Configure Results Fields. Map your language-specific fields to display positions in Search > Results Fields.
- (Optional) Configure Stopwords and Synonyms. If needed, configure language-specific stopwords and synonyms for your container language.
Path B: Local Search Profile
Click SAVE DRAFT and then PUBLISH after configuring each section.
- Identify your indexed fields. Find your language-specific field suffixes (e.g.,
title_txt_sr) andss_api_languagesvalue (e.g., "sr") from your Drupal configuration. - Create a Search Profile. Create a new Search Profile within your current language via the Profile Selector. Give it a descriptive name (e.g., "Serbian Content").
- Configure Search Fields. Add your language-specific fields (e.g.,
*_txt_sr) in Search > Search Fields. - Configure Data Filters. Add an Include filter in Search > Data Filters:
ss_api_languagesequals your language code (e.g., "sr"). - Configure Results Fields. Map your language-specific fields to display positions in Search > Results Fields.
- Update your frontend. Configure your search UI to pass the profile parameter when calling this Search Profile (see Frontend Integration).
Path C: Drupal Views Only
This path is for Drupal implementations where you use SearchStax only as the search index and manage all search configuration through Drupal Views or custom code. If this describes your setup, you don't need to configure Languages or Search Profiles in Site Search.
Note: This path is specifically for customers who control search behavior entirely through Drupal. If you're unsure whether this applies to you, use Path A or Path B instead.
- Disable Site Search routing. In your Drupal SearchStax module configuration, uncheck Re-route through SearchStudio. This tells Drupal to send search queries directly to the index rather than through Site Search's configuration layer.
- Configure language handling in Drupal. Use Drupal Views or custom code to pass the appropriate language parameters in your search queries. Your existing language routing logic will control which content is returned.
Testing
Use Search Preview to test queries in your target language (Path A and B). For Path C, test directly through your Drupal search interface. Verify that:
- Results include only content from your target language
- Results display your configured language-specific fields
- Search events appear in Analytics
Troubleshooting
No Results or Wrong Language Content
Verify your ss_api_languages filter value matches your Drupal configuration exactly. Use Reload Schema to refresh available fields, then check your Data Filters and Search Fields configurations.
Poor Search Relevance
Confirm Search Fields use the correct language suffix (e.g., _txt_mk not _txt_en) and that your schema includes dynamic fields for your language.
Stopwords/Synonyms Not Working (Path B)
Expected behavior. Local Search Profiles share the parent language's dictionaries. For existing workaround configurations, use Path A.
Frontend Integration
Pass the appropriate parameter in your search UI API calls. Replace the example values with your actual container language code or profile name:
- Path A:
language=YOUR_CONTAINER_LANGUAGE_CODE(e.g.,language=lvif you used Latvian as your container) - Path B:
profile=YOUR_PROFILE_NAME(e.g.,profile=serbian-contentif you named your profile "Serbian Content") - Path C: Use your existing Drupal Views or custom code to pass language parameters directly to the search index. No Site Search-specific parameters are required.