4

I have a couple of list columns such as Status, DeptName in my List. But when I am looking for crawled property associated to these columns in Search Schema, I see a list of so many crawled properties with similar names. Such as :

  • ows_Status0
  • ows_Status3
  • ows__Status
  • ows_status
  • ows_q_CHCS_Status0
  • ows_q_CHCM_Status0
  • ows_q_CHCS_Status
  • ows_q_CHCS__Status
  • ows_q_TEXT_Status

I am bit confused with which one of the above to choose to map for a managed property

So for a List Column : Status what should be the crawled property name?

  • Is it your custom column or SharePoint's built in column you have used? – users1100 Sep 29 '15 at 8:28
  • Its a custom column – Yayati Sep 29 '15 at 8:50
10
  1. First of all if it is a custom column, you need to find what is the internal name of that column. Go to List Settings --> Click on Column name and see what is the name in the URL (Field="Fieldname").

  2. What is the type of the column? The crawled property naming convention is dependent on the type of the column. From the column name Status i assume it as a Choice field type. So for choice field type the naming of the crawled property would be : ows_q_CHCS_ColumnInternalName or ows_q_CHCM_ColumnInternalName (for multiselect choice).

Bonus: See the naming conventions for crawled and managed properties

  • Thanks. I have a crawled property named as ows_q_CHCS_Status which is mapped to a Managed Property StatusOWSCHCS. But when I use it in search result - Property Mapping, no values are displayed in search result for this property wherease the list column Status contains values in each item. What might be the problem ? – Yayati Sep 29 '15 at 9:50
  • Is crawling in place.Make sure a full/incremental crawl is done or continuous crawl is enabled? Also make sure the Managed property has Retrievable attribute checked – Unnie Sep 29 '15 at 9:53
  • Yes. the Managed Property has Retrievable attribute checked. Acutally this managed property is mapped to two crawled properties ows_q_CHCS_Status and ows_q_CHCS__Status. Is this the problem? – Yayati Sep 29 '15 at 10:00
  • No when a managed property is mapped to more than one crawled property, the order of mapping will determine what value the managed property will hold. ie if the first crawled property is null/empty, then it will take the seconf property value and so on – Unnie Oct 2 '15 at 11:36
3

A well explanatory MSDN Article to get idea from site column to Managed Property.

Assuming that it would be a choice column.

The name of this property is generated by removing spaces from the site column name, and adding a prefix. The prefix that is added varies depending on the site column type.

As it is choice column, the prefix would be:

ows_q_< four letter code >_

3

OK, this post is old but I would like to give my answer. Based on your input above here it is how you should look at it.

You have two types of columns, 1) Site columns and 2) list columns. In your case you have created a list column, like "Status". When the columns are created, SharePoint creates crawled properties as follows:

Site columns e.g.: I create a site column called FullName which is of type single line. SharePoint will create a crawled property as such:

ows_q_TEXT_FullName

So anything starting with ows_q_<4 Letters>_ indicates that it is a site column.

List columns: If you create a column as list level, SharePoint uses this format: ows_<Column name>

In your case above it will be ows_Status.

To distinguish between site columns and list columns simply check if the crawled property starts with ows_q_<4 Letters of you column type>_ is a site column otherwise ows_<your Internal field name> is your list column.

enter image description here

2

Actually after full crawl , it turns out to be ows_status for Status column.

For all the other list columns, the the crawled property with naming convention like ows_InternalColumnName are giving correct values for the respective columns wherease the crawled property with naming conventions like ows_q_FourLetterCode_InternalColumnName didn't worked for me.

Another thing I noticed that the crawled property name may be case insensetive sometimes.
e.g. for Internal Column Name Status the crawled property name was ows_status wherease for other column Requestor it is ows_Requestor

2

Ive run into this many times, so what i do to overcome this is to initially name the field with an identifiable trait.

Example: List/Solution Name: Deal Finder

Column Name: Store

Initial Field Naming: df_Store

Then, i would rename the field to just "Store"

By doing this, you are setting the internal name of the field to df_Store, which is then picked up by the search service and will name the crawled property ows_df_Store

Hope this helps

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.