Hi Glen,
We’ve done some integration with Magento in the past, but not your specific scenarios. :(
I’m not aware of any third party add-ons to help you link Magento with Expression Engine.
1. Search - for speed, I would suggest creating stub entries in EE for each product in Magento. You could hook into Magento so that it creates the stub entry in EE when you are creating/updating the product in Magento. Along with the title and product description, you should store the Magento product/detail URL. Your search result links can then easily point to the Magento product/detail page.
If your catalogue isn’t that big, you could manage this by hand. It’s not great to have duplication, but it’s necessary to ensure the search results are returned quickly enough. I wouldn’t like to try to get the same results in real-time by using Magento’s API.
2. Accounts - I don’t see why you couldn’t have both accounts ‘in sync’. I would choose one system to act as master for this, let’s say Magento. You would have to hook into the Magento register() function to get it to call EE’s register(); the same for login() and logout() functions. Solspace User module /might/ be useful for this customisation. I think it would be better to let Magento do your account management because it’s tied into orders and fulfilment.
Magento has comments, so if that’s all you’re using EE user accounts for, it might be easier to look into using Magento comments for your EE articles.
Whatever you decide to do, you’ll be digging into code. Good luck!
Thanks,
Adrian