我尝试配置ElasticSearch:
fos_elastica:
indexes:
test:
settings:
index:
analysis:
analyzer:
autocomplete:
type: custom
tokenizer: lowercase
filter : [my_ngram]
filter:
my_ngram:
type: "nGram"
min_gram: 2
max_gram: 20
types:
Track:
mappings:
title: { analyzer: autocomplete }
artist: { analyzer: autocomplete }
persistence:
driver: orm
model: Website\TestBundle\Entity\Track
provider: ~
listener: ~
finder: ~
当我做“http://mydomain.com:9200/test/_analyze?analyzer=autocomplete&text=rih”
时,这是我的错误{"error":"ElasticSearchIllegalArgumentException[failed to find analyzer [autocomplete]]","status":400}
有什么问题?感谢
答案 0 :(得分:3)
错误显示“找不到分析器[autocomplete]”。在Elasticsearch中,默认情况下您可以使用多个分析器。我不知道默认情况下可以使用任何自动完成分析器,尽管您可以创建自定义分析器,这可能是您尝试解决的问题。
如果您正在寻找自动填充功能,请随时查看elasticsearch网站上的完成建议文档或Sloan Ahrens关于快速和脏完成建议的教程
这里:http://blog.qbox.io/quick-and-dirty-autocomplete-with-elasticsearch-completion-suggest
如果您正在寻找更高级的技巧,斯隆阿伦斯有一个很棒的教程
此处:http://blog.qbox.io/multi-field-partial-word-autocomplete-in-elasticsearch-using-ngrams
我会提供所有文档链接到我引用的所有内容,但不幸的是我没有这样做的声誉点。