Python Haystack/Whoosh搜索返回零结果,部分数字搜索

Python Haystack/Whoosh搜索返回零结果,部分数字搜索,python,django,django-haystack,whoosh,Python,Django,Django Haystack,Whoosh,我的SearchIndex如下所示: class AccountIndex(indexes.SearchIndex) account=indexes.CharField(model_attr='account_number') name=indexes.CharField(model_attr='business_name') 帐号有7个数字字符。我似乎可以对姓名进行部分搜索,但不是帐户: In [20]: SearchQuerySet().filter(name='Cjns,

我的SearchIndex如下所示:

class AccountIndex(indexes.SearchIndex)
    account=indexes.CharField(model_attr='account_number')
    name=indexes.CharField(model_attr='business_name')
帐号有7个数字字符。我似乎可以对姓名进行部分搜索,但不是帐户:

In [20]: SearchQuerySet().filter(name='Cjns, LLC')
Out[20]: [<SearchResult: accounts.soldtoaccount (pk=u'367')>]

In [21]: SearchQuerySet().filter(name='Cjns')
Out[21]: [<SearchResult: accounts.soldtoaccount (pk=u'367')>]

In [22]: SearchQuerySet().filter(account='11836052')
Out[22]: [<SearchResult: accounts.soldtoaccount (pk=u'367')>]

In [23]: SearchQuerySet().filter(account='118360')
Out[23]: []

In [24]: SearchQuerySet().filter(account='11836052')[0].account
Out[24]: u'11836052'
我知道可以在筛选器中使用account_uStartsWith,但我也希望能够使用auto_query搜索部分帐号:

In [14]: SearchQuerySet().auto_query('Cjn')
Out[14]: [<SearchResult: accounts.soldtoaccount (pk=u'367')>]

In [15]: SearchQuerySet().auto_query('11836052')
Out[15]: [<SearchResult: accounts.soldtoaccount (pk=u'367')>]

In [16]: SearchQuerySet().auto_query('118360')
Out[16]: []

我是否需要为帐号使用不同类型的索引字段?

使用NgramField或EdgeNgramField,而不是CharField