Live Chat Here!
Item Language in Search and Content Query Webparts
Posted by Martin Laplante on 23 June 2014 11:19 PM
How do you search by language, or create a content query webpart that filters or refines documents or items by item language with PointFire 2013?
PointFire's Language Filter WebPart can not connect to a content search webpart or a content query webpart. However it is possible for a content query webpart or other search webpart to use Item Language in queries and refiners, but it requires a little work. Only Managed Properties can easily be used for that purpose, and Item Language is normally not a managed property. This is because Item Language is not a site column. The fact that it is not a site column is to give you additional flexibility.
There are two ways to create a managed property. The first one is the recommended way.
1) Map the "Item Language" Crawled Property to a Managed Property
To create a Managed Property, go to
Central Administration > Application Management > Manage Service Applications >Search service application
On the Search Administration page, under "Queries and Results" in the left column, click "Search Schema".
Now, click on "New Managed Property". Call it, for example "ItemLanguage" (no space). The Type should be Text. In most cases, check off Searchable, Queryable, and Retrievable. Please consult SharePoint documentation to determine what are the appropriate settings for your particular scenario. If the language is ever multi-valued using a checkbox, select "Allow multiple values" Under "Mappings to crawled properties", click on "Add a mapping". Find "Item Language" from the long list of crawled properties. If "Item Language" isn't on the list, then maybe not enough time has elapsed since you first made a list or library multilingual and you should wait a few hours for crawling to take place. Click OK at the bottom of the page. This new change may also take several hours to take effect.
2) Make "Item Language" into a Site Column
The PointFire software normally doesn't care whether the "Item Language" column is a site column or a list column. It will only create it as a list column, but if you create a site column with the same internal name, PointFire will happily use it in most cases.
One way to make Item Language a Managed Property is to create a Site Column named "Item Language" and use that column in lists and libraries rather than using the List Column that PointFire creates. SharePoint 2013 usually will create a managed property to match Site Columns, eventually. It may take a few hours for the next crawl to be completed. If you create such a site column and use it in a list or library, SharePoint automatically creates a managed property named ItemLanguageOWSCHCS.
There is a danger to creating this type of site column. Within a list or library, if you mix site columns and list columns having the same name on the same site, which can easily happen if any user makes a list multilingual using the PointFire menu, there will be filtering errors and duplicate field errors that are not easy to spot or to fix. The two columns might get duplicated and create a duplicate column with an identical name but an internal column name that is not "Item_x0020_Language". Also, PointFire is not aware that it might be a site column, for instance when a list is made unilingual/multilingual or when the list of languages changes, and therefore some careful maintenance is required.