0

I am building a search query inside my search content web part, as follow:-

enter image description here

where in my case i have three site collections:-

http://servername/

http://servername/Wiki

http://servername/Dept

And inside these three site collections i have 3 site columns named "Item Number" which store a custom number for my issue tracking list items such as "Acc-T-1" ,"Fin-T-12", etc. but inside each of the three site collections the related "item number" site column does not have any relation to the other "item number" site columns.even on one site collection the internal name for the site column is Item%5Fx0020%5FNumber while on the other site collection the internal name is ItemNumber .

but when i define the above query mainly to return all the item that have their "Item number" contain "-T-" i got results for all my site collections .. i though the property ItemNumberOWSTEXT mainly represents single site column inside single site collection,, but seems it is referencing the three site columns from three site collections.

so can anyone adivce how this is happening ? and how i can check what is the property name for the site columns ?

EDIT

Here is how my crawl properties are being built:-

enter image description here

1 Answer 1

1

This is a classic problem with SharePoint and is solved by using Managed Properties. First, the reason you have different names is because the person or persons who created the columns did not use the same internal name. One was created as "Item Number" while the other was "ItemNumber". The result is that SharePoint has to escape the space producing an internal name of "Item%20Number" with then the crawler converts to the "safe" name "Item%5Fx0020%5FNumber" or "Item_x0020_Number".

If fixing the column names and re-running the crawl is not an option you can just create your own Managed Property in the Search Service Application (for example "ItemNumber") and the map the various crawled properties to that one Managed Property. In your case you should map both ows_ItemNumber and ows_Itemx0020_Number crawled properties to the ItemNumber managed property.

After the mapping is complete, perform a full crawl.

And, just a heads up. Looking at your item numbers, you may be headed for problems with the hyphens. But that's a different question.

2
  • So based on this could the senario I faced is as follow. Now I have define three site columns inside 3 different site collections ; which have the following INTERNAL names Item_X0020_number & ItemNumber & also ItemNumber. Now I got the following internal name “Item_X0020_number” since using the UI I defined the site column named to be “Item Number”. so as a result I got a single crawled property named ows_q_txt_ItemNumber representing the 3 site columns, because in this link technet.microsoft.com/en-us/library/jj613136.aspx
    – John John
    Commented Sep 28, 2016 at 21:45
  • .... it mentioned that when building crawled properties the white spaces will be removed, then it will be prefixed with ows_q_. So actually the three site columns in my case “item Number” & 2 “ItemNumber” are being represented by a single managed property , which is ows_q_txt_ItemNumber ?? please check my edit where i provided how my crawled properties are defined..
    – John John
    Commented Sep 28, 2016 at 21:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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