【问题标题】:Globalize Tire ElasticSearch and accent folding全球化轮胎 ElasticSearch 和重音折叠
【发布时间】:2014-01-30 15:39:08
【问题描述】:

按照这个问题的建议后:

i18n search using tire and Globalize3

我索引了我的标题和正文字段。问题是,虽然索引有效,但当我进行搜索时,它不会折叠重音符号。我这样配置搜索到的模型:

settings index: { analysis: {
                    analyzer: {
                      index_analyzer: {
                        tokenizer: "whitespace",
                        filter: ["asciifolding", "lowercase", "snowball"]
                      },
                      search_analyzer: {
                        tokenizer: "whitespace",
                        filter: ["asciifolding", "lowercase", "snowball"]
                      }
                    }
                  }
                }

那么为什么轮胎不使用这些分析仪?

【问题讨论】:

    标签: ruby-on-rails elasticsearch tire


    【解决方案1】:

    您是否将这些分析器应用于任何领域?您是在该字段上搜索,还是在 _all 字段上搜索?

    如果您打算将这些分析器用作整个索引的默认分析器,则应将它们命名为 default_indexdefault_search。实际上它们是相同的,所以您可以将分析器指定一次为default

    这是 Elasticsearch 如何确定在索引时使用哪个分析器:

    • 在字段映射中定义的index_analyzer,否则
    • 在字段映射中定义的analyzer,否则
    • 在文档的_analyzer 字段中定义的分析器,否则
    • type 的默认index_analyzer,默认为
    • type 的默认analyzer,默认为
    • 索引设置中名为default_index的分析器,默认为
    • 索引设置中名为default的分析器,默认为
    • 在节点级别名为 default_index 的分析器,默认为
    • 在节点级别名为 default 的分析器,默认为
    • standard 分析器

    在搜索时:

    • 在查询本身中定义的analyzer,否则
    • 在字段映射中定义的search_analyzer,否则
    • 在字段映射中定义的analyzer,否则
    • type 的默认search_analyzer,默认为
    • type 的默认analyzer,默认为
    • 索引设置中名为default_search的分析器,默认为
    • 索引设置中名为default的分析器,默认为
    • 在节点级别名为 default_search 的分析器,默认为
    • 在节点级别名为 default 的分析器,默认为
    • standard 分析器

    【讨论】:

    • 谢谢,我会尝试并回来的!
    猜你喜欢
    • 2013-09-26
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 2014-10-24
    • 2012-08-24
    • 1970-01-01
    相关资源
    最近更新 更多