This looks like a perfect case for a tokenized field in SmartSearch. I've created solutions almost the same way. All you need is to ensure the field is analyzed in a way that each value is treated as a search term. This would allow you to do a property search for any of the values like this: Type:78.
The format using the pipe delimited might be a challenge. The SmartSearch analyzer may not treat pipe characters as "word breaks". So, the index might have "45|78|89|56" as one term. You can check by opening the Smart Search index in the Lucene index viewer, Luke. http://www.getopt.org/luke/
- If the values are not being treated as separate terms, you have a few options.
If you can, changing the delimiter to a space character would work.
- If you cannot change the delimiter, you may have to handle the Document_GetContent_Execute global event, so that you can control how the new field is indexed. You could even replace the pipes with spaces before passing the value to the indexer. I've used the SearchHelper.AddGeneralField method with success.