_all
字段在新应用的探索阶段比较管用,当你还不清楚最终文档的结构时,可以将任何查询用于这个字段,就有机会得到你想要的文档:
随着你应用的发展,搜索需求会变得更加精准。你会越来越少的使用 _all
字段。_all
是一种简单粗暴的搜索方式。通过查询独立的字段,你能更灵活,强大和精准的控制搜索结果,提高相关性。
【相关性算法】考虑的一个最重要的原则是字段的长度:字段越短,就越重要。在较短的 title
字段中的短语会比较长的 content
字段中的短语显得更重要。而字段间的这种差异在 字段中就不会出现
如果你决定不再使用 _all
字段,你可以通过下面的映射禁用它:
你可能想要保留 _all
字段来查询所有特定的全文字段,例如 title
, , summary
和 tags
。相对于完全禁用 _all
字段,你可以先默认禁用 include_in_all
选项,而选定字段上启用 include_in_all
。
谨记 _all
字段仅仅是一个经过分析的 string
字段。它使用默认的分析器来分析它的值,而不管这值本来所在的字段指定的分析器。而且像所有 类型字段一样,你可以配置 _all
字段使用的分析器: