elasticsearch,Java,elasticsearch" /> elasticsearch,Java,elasticsearch" />

Java 在'下搜索子字段_全部';弹性搜索

Java 在'下搜索子字段_全部';弹性搜索,java,elasticsearch,Java,elasticsearch,我有一个有细分的字段,比如: //name .startObject(IndexConstants.FIRST_NAME) .field("type").value("string") .startObject("fields") .startObject("folded") .field("type").value("string")

我有一个有细分的字段,比如:

             //name
            .startObject(IndexConstants.FIRST_NAME)
            .field("type").value("string")
            .startObject("fields")
            .startObject("folded")
            .field("type").value("string")
            .field("analyzer").value("folding")
            .endObject()
            .endObject()
_all字段仅搜索firstname,而不是firstname.fold。如果我专门查询.folded,它可以工作,但是它是一个全面的查询,因此我不希望必须指定folded。
我尝试过“包含在所有”中,但没有改变

谢谢

如中所述,在多个字段中使用
包含所有
是没有意义的:

原始字段值添加到
\u all
字段,而不是字段分析器生成的术语。因此,在多个字段中将
include_in_all
设置为
true
是没有意义的,因为每个多字段都与其父字段具有完全相同的值


使用
copy_to
可能是您用于搜索的
query
版本的一个选项?我的意思是
term
query\u string
match
或其他任何内容。copy\u to将复制原始值,而不是折叠值,不幸的是,我将要求查询全部打开。插入索引时,我可能只需要添加客户端折叠版本