I'm working on my first proper Sitecore 9 project at the moment, and got bitten by an annoying bit of confusion while doing some configuration work. If you're tweaking how xConnect works take note, and hopefully you can avoid making the same mistake I did...
Edited to add: Sitecore have updated their documentation to reduce the confusion here. Thank you Martina & co!
xConnect introduces the idea that some fields in the analytics model are "private" by default and out-of-the-box they're not indexed by Solr. Hence if you want to be able to search for a contact by name or email you need to change the configuration so these fields are added to the index. (Of course that means you now have an extra GDPR-related headache if the user wants to be forgotten, but that's a topic for another day)
This is a scenario that xConnect anticipated, and there's a helpful documentation page to explain how to do it. All you have to do is open a config file, edit a line, and rebuild your index. Sounds simple, right?
But there's a trap for the unwary here, which I fell into head first... The docs mention two paths to the config file you need to change:
The phrasing of the docs is important, and I missed the significance when I read it originally. Where it says
that does not actually mean your install's equivalent of the "config" folder under
c:\inetpub\wwwroot\yoursite.xConnect\App_data\.... That folder exists, and my mind whent into autopilot when I saw it, because the config file in question is there too:
I spent some time editing this one, and getting increasingly confused about why my changes were having no effect, until the ever-helpful Martina Welander put on her psychic debugging hat and pointed out that it's actually the second location described for this file that's the important one.
While the exact paths may vary in your install, you need to change the one that's under the "
" folder in your xConnect website folder.
Once you do that it'll all work...