Как проиндексировать строку с подчеркиванием в Django с помощью Haystack/Whoosh

Я пытаюсь реализовать поиск с помощью Haystack и Whoosh в проекте Django.

CharField, который я пытаюсь проиндексировать, содержит такие данные, как something_like_this. Но он не будет отображаться в результатах поиска, если я буду искать «что-то» или «это». Это работает, только если я ищу 'something_like_this'. Есть ли способ поиска по ключевым словам в CharFiled?

Все, о чем я могу думать, это создать еще один CharField, сохранить строку без подчеркивания исходной строки, а затем проиндексировать ее. Но это кажется глупой идеей.


person user1499532    schedule 21.03.2014    source источник


Ответы (1)


Сделайте data_field MultiValueField и реализуйте метод prepare_data_field, где вы можете сделать что-то вроде этого:

prepare_data_field(self, obj):
    return obj.data_field.split('_')
person Oliver    schedule 23.03.2014