作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个基本的django haystack elasticsearch安装正在运行,似乎正在运行..直到遇到自动完成问题:
它不只返回完整字段的自动完成。另一个问题是CAPS数据未规范化(例如用户名..)
我的安装:
Django 1.6.4
干草堆2.1.0
Elasticsearch 1.3.1
py-elasticsearch 0.6.1
class SocialProfileIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
username = indexes.CharField(model_attr='username')
first_name = indexes.CharField(model_attr='first_name')
last_name = indexes.CharField(model_attr='last_name')
# Auto-complete
username_auto = indexes.EdgeNgramField(model_attr='username')
first_name_auto = indexes.EdgeNgramField(model_attr='first_name')
last_name_auto = indexes.EdgeNgramField(model_attr='last_name')
def get_model(self):
return SocialProfile
def index_queryset(self, using=None):
return self.get_model().objects.all()
results = SearchQuerySet().models(SocialProfile).autocomplete(username_auto=q)
username=alonisser
es = Elasticsearch('http://elasticsearch.url:9200')
es.search('username_auto:alon', index='haystack')
最佳答案
我认为您已经在干草堆论坛中得到了答案,但也只是想在这里提出来。
摆脱Caps问题的一种方法是在索引类中使用自定义的prepare方法,尽管我的干草堆默认情况下会以某种方式处理它:S。
def prepare_username_auto(self, obj):
return obj.username.lower()
results = SearchQuerySet().models(SocialProfile).autocomplete(username_auto__startswith=q)
关于django - Django干草堆Elasticsearch的自动完成问题(以及带有大写字母的查询),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25380837/
我们面临一个用例,我们需要在 S3 上存储用户的 secret 图像。现在 S3 可以通过 HTTP 访问,如果我们授予对对象的读取权限,它们将通过 Web 提供给全世界。我们需要将图像/文件仅限于该
我是一名优秀的程序员,十分优秀!