• 
      

    Fix search indexing with Whoosh 2.7.

    Review Request #7354 — Created May 28, 2015 and submitted

    Information

    Review Board
    release-2.0.x
    b91415f...

    Reviewers

    Our search index tried to store a user's group membership using a
    MultiValueField. There's nothing in the Haystack docs that indicates
    that we can't do this, and in fact, it's totally fine to do this -- IF
    the field is meant to be indexed and not just stored along with the rest
    of the data. However, if you turn off indexing, it's only allowed to be
    a list of numeric IDs, for some reason. At least, that's the case with
    Whoosh.
    
    Previously, Whoosh didn't seem to mind this, but as of Whoosh 2.7, it
    gets very upset.
    
    So instead, we're now storing as a CharField, flattening the list into a
    string, and splitting again in the template. This mimics what Haystack
    was already doing, but in a way that should work everywhere.

    Successfully indexed and searched using Whoosh 2.5 and Whoosh 2.7.

    Unit tests pass on both.

    reviewbot
    1. Tool: PEP8 Style Checker
      Processed Files:
          reviewboard/accounts/search_indexes.py
      
      Ignored Files:
          reviewboard/templates/search/_user.html
      
      
      
      Tool: Pyflakes
      Processed Files:
          reviewboard/accounts/search_indexes.py
      
      Ignored Files:
          reviewboard/templates/search/_user.html
      
      
    2. 
        
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-2.0.x (f7d4697)