默认情况下,ES 不区分大小写。有一些示例(例如elasticsearch 中不区分大小写的搜索)如何为 ES 中的特定字段定义分析器。
我有大量的数据类型,加载了不同的字段,按名称在字段上设置分析器对我来说是完全不切实际的。
我以前使用 Solr,并通过对我的所有数据使用 dynamicFields 并编辑 schema.xml 以修改“文本”字段类型以从分析器中删除 LowerCaseFilterFactory 来完成全局区分大小写的搜索。
我怎样才能在 ES 中做类似的事情?
默认情况下,ES 不区分大小写。有一些示例(例如elasticsearch 中不区分大小写的搜索)如何为 ES 中的特定字段定义分析器。
我有大量的数据类型,加载了不同的字段,按名称在字段上设置分析器对我来说是完全不切实际的。
我以前使用 Solr,并通过对我的所有数据使用 dynamicFields 并编辑 schema.xml 以修改“文本”字段类型以从分析器中删除 LowerCaseFilterFactory 来完成全局区分大小写的搜索。
我怎样才能在 ES 中做类似的事情?
查看Analysis index 模块的 elasticsearch 文档。有一个默认分析器部分说:
默认逻辑名称允许配置一个分析器,该分析器将用于索引和搜索 API。default_index 逻辑名可用于配置仅在索引时使用的默认分析器,而 default_search 可用于配置仅在搜索时使用的默认分析器。
我想这就是你要找的。很高兴知道 elasticsearch 中的默认分析器是StandardAnalyzer。