我尝试配置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}
有什么问题 ?谢谢
该错误显示“无法找到分析器[自动完成]”。在Elasticsearch中,默认情况下您可以使用多个分析器。尽管您可以创建一个自定义分析器,但我不知道默认情况下是否有任何自动完成分析器,这可能是您要解决的问题。
如果您正在寻找自动完成功能,请随时在Elasticsearch网站或Sloan
Ahrens教程上查看完成提示工具文档,该指南提供了关于快速而肮脏的完成提示的
信息:http : //blog.qbox.io/quick-and-dirty-autocomplete-with
-elasticsearch-completion-建议
如果您正在寻找更高级的技术,Sloan Ahrens的教程很好
此处:http://blog.qbox.io/multi-field-partial-word-
autocomplete-in-elasticsearch-using-ngrams
我会提供指向我所引用的所有内容的所有文档链接,但是不幸的是,我没有这样做的声誉。