Index / Search Result Support

Feb 23, 2009 at 3:27 AM
Currently we are using OOB Multi-Select functionality on Text Fields, and have discovered that the MOSS Index Crawler treats the record-level entry of a Multi-Select Field where each selection option was a Text field (such as a Choice Column) as a single Text field with each multi-select value entered together into a single text field for index/search purposes.  There seems to be a character limit on the crawler for these fields, which when selecting multiple longer name values is exceeded and different values in a multi-select field are not returned in the search results because they are somehow not visible to the crawl.

Given that the CSPF project permits setting up custom fields with multi-select options, how does the Index Crawler treat the individual choice selections of each record for the purpose of Search Results (different from OOB functionality)?  In the example screenshot it shows the following:
CustomMultiChoice1 CustomMultiChoice2
Text 1
Text 2
Text 3
Text 4, etc.

So if multi-selections of each field (column) are made for a specific record, will each individual selection be indexed and be available as a search result... or are each selection in the multi-select put together as an appended text field for a single combined value in index results?

The practical application of this question is the MOSS Advanced Search where Managed Properties can be used in a search with values like Contains / Does Not Contain along with AND/OR for multiple Managed Properties.  If each value in a single record is separately indexed, then this permits more granular search for multi-value records.

Here is a record set using the same example data:

Record CustomMultiChoice1 CustomMultiChoice2
0001 Value2, Value4 Text 1, Text 3
0002 Value1 Text 3, Text 4
0003 Value2, Value3 Text 1, Text3, Text4
0004 Value1, Value4 Text 3, Text 4
0005 Value1, Value3 Text 4

Advanced Searches:
Managed Property CustomMultiChoice1 Contains Value2  AND
Managed Property CustomMultiChoice2 Contains Text 3
Results:  Records 0001, 0003

Managed Property CustomMultiChoice1 Contains Value2  AND
Managed Property CustomMultiChoice2 Does Not Contain Text 3
Results:  None

Managed Property CustomMultiChoice2 Contain Text 3 AND
Managed Property CustomMultiChoice1 Contains Value1  OR
Managed Property CustomMultiChoice1 Contain Value2
Results:  Records 0001, 0002, 0003, 0004

Sorry for the remedial explanation, but I wanted to make the question of what I'm asking very clear.
Thanks in advance!
Feb 26, 2009 at 10:25 AM
The control uses SPFieldMultiChoiceValue to store it's data, just like the SPMultiChoice control, so both of them will share the same weaknesses.
I haven't tried to solve (and haven't been concerned so far with) the issues you are mentioning. I hope that I'll find more time in the coming weeks to investigate this.
Thanks for pointing this out and I'm sorry I can't help you more.