It appears that our FIND is Indexing the full HTML content of the page, for example:
ul class=\"main-nav-l2 main-nav-l2--dropdown-menu\">\r\n<li class=\"main-nav-l2__item main-nav-l2__item--dropdown\"><a class=\"dropdown-toggle\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" href=\"https://XXXXX/inspire/information-for-employers/\">
So, if I search for Dropdown then it returns all the pages on the site.
In my code I can filter by PageType but this has no effect.
In the CMS if I go to the FIND > Overiew section and filter by PageType and search for "DropDown" it brings back the same number of results as does my code so I know my code is working ok.
How can I stop FIND from indexing the full page mark up - or do I still need to add more filters to my code?
Im currently using ITypeSearch - I need to seach by different query filters.
So when you search for drop-down using the Find Overview UI and expand an item from the list of search, how does the serialised data look? Where does the value of drop-down originate from in that indexed item?
Typically an object's type is serialised and indexed in Find - is the markup stored as a property on the object type? Or is it rendered via views in the solution?
Maybe check the conventions you have setup for your indexing - you should have an initialization module configured that specifies conventions. From there you can exclude specific fields on the object type from being indexed.
Interested to find out what your configuration currently is.
The drop-down is indexed and stored in a "MegaMenu$string" element of the Json.
I'll try and add a JsonIgnore on that field and see if that works
So there is a property on your product type where you add this markup yeah?
If you take a look at this section of the documentation, it details how you can override default conventions:
By creating an initialization module you can exclude certain properties for individual types - this should help you remove that content from the index.