配置ElasticSearch默认使用ngram。 - SQL LIKE %%行为

时间:2013-01-04 15:46:49

标签: python elasticsearch django-haystack

是否可以将弹性搜索索引行为配置为ack作为SQL的LIKE关键字。

如果索引包含“此文档名为MySuperInvoice”,我希望能够找到它,如果我正在寻找超级,文档或语音“

感谢您的帮助。

修改

有人告诉我,我需要在搜索字词周围添加*:*query*

让我们看看如何使用haystack来完成。

2 个答案:

答案 0 :(得分:1)

好的,我终于到了那里。谢谢@zebuline。

cluster:
        name: webapp
network:
        bind_host: 0.0.0.0
        publish_host: _eth0_
index:
        analysis:
                analyzer:
                        default_index:
                                type:           custom
                                tokenizer:      standard
                                filter:         [standard, lowercase, asciifolding, webapp_ngram]
                        default_search:
                                type:           custom
                                tokenizer:      standard
                                filter:         [standard, lowercase, asciifolding]
                filter:
                        webapp_ngram:
                                type:           nGram
                                min_gram:       1
                                max_gram:       30

答案 1 :(得分:-1)

查看ES中的默认映射。它应该对你有帮助。

http://www.elasticsearch.org/guide/reference/mapping/dynamic-mapping.html