【发布时间】:2011-05-22 10:55:26
【问题描述】:
我的 django 网站需要一个简单的搜索工具,所以我选择了 Haystack 和 Solr。我已正确设置所有内容,并且在输入 exact 短语时可以找到正确的搜索结果,但在输入部分短语时无法获得任何结果。
例如:“John”返回“John Doe”,但“Joh”不返回任何内容。
型号:
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
搜索索引:
class PersonIndex(SearchIndex):
text = CharField(document=True, use_template=True)
first_name = CharField(model_attr = 'first_name')
last_name = CharField(model_attr = 'last_name')
site.register(Person, PersonIndex)
我猜我缺少一些启用部分字段匹配的设置。我在一些论坛上看到有人在谈论EdgeNGramFilterFactory(),我用谷歌搜索过,但我不太确定它的实现。另外,我希望有一种特定于干草堆的方法,以防我关闭搜索后端。
【问题讨论】:
标签: django search search-engine django-haystack