Search Index Fields for Module Builder Modules
We're developing a site using Sitefinity 4.4 for a client, and used the Module Builder tool to create two custom modules for the site, one that stores product information, and another that stores articles.
I'm currently trying to implement a search index for the two modules. In the Sitefinity admin, I can create a new search index and select the custom modules, but it appears that only the Title field of each module is actually indexed. Both modules have other fields that hold data such as summaries, descriptions, headlines/sub-headlines, keywords, etc., that we need to include in the index along with the Title field.
How can I get Sitefinity to index these other fields in my Module Builder modules so that queries run against the index return results based on more than just the Title fields?
Thanks,
Matt
Hello,
That's a tough one, currently there's a bug regarding that specific functionality, and the search index is picking up the Title field only. We have logged the bug for fixing in our system, you can track its progress on this public URL.
Please excuse us for the inconvenience caused, hopefully we'll be able to provide the fix for the issue for our upcoming releases.
Greetings,
Boyan Barnev
the Telerik team
I looked at the PITS issue, and it seems this is not even on the schedule yet. Do you have any approximation as to when this issue will be addressed? With the amount of press you're trying to generate for the Module Builder (it's currently the first feature listed on the Developer's Highlights page of the Sitefinity website), I would think not being able to search Module Builder content would be a pretty major flaw.
This issue is a big deal for our clients, and we need to find a workaround. Is there any way in SF4.4 to manually code a custom index/search provider to work directly with the Lucene engine in Sitefinity to capture these other fields? Our search implementation needs to cover only these two custom Module Builder modules, so we can replace the default search functionality for the site if necessary/possible. I just need to be pointed in the right direction. As it stands now, the search functionality is essentially useless.
Hi Matt,
Unfortunately this has never been implemented, and extending the default functionality to suit this type of functionality is not a trivial task. The most detailed resources available on the web are the blog post by Teodor and Milena's explanation in this forum thread. We aim at offering a totally refactored Publishing system for Sitefinity in the upcoming releases - something that would introduce many out of the box features, or make achieving them much easier. Currently, the only way to go would be with modifying the default Search functionality, we'll do our best to help you in achieving this if you have any problems following Milena's sample.
Greetings,
Boyan Barnev
the Telerik team
I'm wanting to set up a search of only the custom module. The auto-generated search tool seems to work well for me. Is there any way I can tap into that engine on the front end?
Has this been fixed in version 5.0?
Hi,
Prior to the 5.1 release configuring search indexes to work with dynamic items was almost impossible task that required quite of effort and custom development (you can refer to the blog post mention by Boyan) but with 5.1 release this can be done in under five minutes in Sitefinity Administration. I have recorded a short video showing how to set everything up. You can also refer to Sitefinity documentation.
My advise is to upgrade to Sitefinty 5.1 or otherwise you will need lots of custom development to enable search in dynamic items.
Kind regards,
Stoimen Stoimenov
the Telerik team
Well, I created a search index, selected my custom module and set the default page. And.... it isn't finding individual items in my custom module. Just returns a result for each of the pages the listing widget appears on.
Hello Julia,
You should add the names of your dynamic content type fields to the advanced section of you search index as shown in the example under the advanced section. After that reindex the search index and edit the search results widget to highlight the required fields. Please follow the steps I am showing in this video.
All the best,
It worked!
I want to include a classification type field in the search index, so i did all those steps that you have described in your video, it did not included the values of the classification field in the search index.
edit: removed
Hello,
Gaurav Singh:
Categories are stored in array field and you should implement a way to convert it to string. For example concatenating the values with ",".
To achieve this, you need to override ContentInboundPipe's SetProperties method and replace the default ContentInboundPipe registration with yours.
In SetProperties method just call the base method and add your categories property as string. Something like "wrapperObject.SetOrAddProperty("MyCustomCategoryField", "mytag1, mytag2, ...");".
After that, you can just use this field as a normal search field like described below.
Please contact me again if you have any problems with this.
Regards,
Bonny
Telerik