- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试为多语言目的索引多字段字符串属性(“prueba”)。我的映射正在使用注释
@MultiField(
mainField = @Field(type = FieldType.String, store = true),
otherFields = {
@NestedField(dotSuffix = "cat", type = FieldType.String, store = true, indexAnalyzer = "catalan", searchAnalyzer = "catalan" ),
@NestedField(dotSuffix = "ba", type = FieldType.String, store = true, indexAnalyzer = "basque", searchAnalyzer = "basque"),
@NestedField(dotSuffix = "gal", type = FieldType.String, store = true, indexAnalyzer = "galician", searchAnalyzer = "galician"),
@NestedField(dotSuffix = "en", type = FieldType.String, store = true, indexAnalyzer = "english", searchAnalyzer = "english")}
)
protected String prueba;
结果映射是:
,
"prueba": {
"type": "string",
"store": true,
"fields": {
"prueba.ba": {
"type": "string",
"store": true,
"analyzer": "basque"
},
"prueba.cat": {
"type": "string",
"store": true,
"analyzer": "catalan"
},
"prueba.en": {
"type": "string",
"store": true,
"analyzer": "english"
},
"prueba.gal": {
"type": "string",
"store": true,
"analyzer": "galician"
}
}
},
所以,我索引了我的对象,但结果只是...`
IndexQuery query = new IndexQuery();
query.setObject(itemTransparencia);
query.setType(subportal);
String id = this.elasticsearchOperations.index(query);
GET /item_transparencia/432/_search
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": "item_transparencia",
"_type": "432",
"_id": "AVTxEfvBhgYXtMQTaKx1",
"_score": 1,
"_source": {
"subportal": "432",
"titulo": null,
"prueba": "prueba la tarta de mi casa",
"subTitulo": null,
"descripcion": null,
"fechaIndexado": "2016-05-
我只得到“prueba”:“prueba la tarta de mi casa”。
-任何人都可以帮助我了解如何从字段“prueba”中索引或获取嵌套字段吗?-indexAnalyzer = "catalan", searchAnalyzer = "catalan"是否帮助我自动索引到另一种语言?
非常感谢!
最佳答案
多字段 prueba.ba
, prueba.cat
, prueba.en
, prueba.gal
已编入索引,但您不会在源文档中看到它们。
您现在可以在查询中直接引用它们(映射中声明的分析器将按预期使用),您将获得预期的结果。例如,以下查询应返回 ID 为 AVTxEfvBhgYXtMQTaKx1
的文档。
{
"query": {
"match": {
"prueba.ba": "prueba"
}
}
}
但是,请注意,在字段上设置语言分析器不会将该字段的内容翻译成该分析器的语言,您需要自己完成。
关于java - 索引@MultiField spring-data-elasticsearch。国际化目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37478900/
您好,有一个应用程序将包含大量不同的元数据字段。他们期望有大约 5 000 - 10 000 个字段。 是否可以使用 lucene 一次搜索所有这些字段,而无需将它们索引到一个字段中? MultiFi
我正在尝试从多领域获得建议。我找不到这样的示例,所以这可能不是最好的主意,但我对您的意见很感兴趣。 映射: POST /authors { "mappings": {
我知道核心数据的新特性是独特的约束,所以我决定测试它。我创建了简单的模式,当我为一个字段(例如 firstName)添加约束时 - 一切正常。如果我为另一个字段 (lastName) 添加约束 - 核
美好的一天, 我一直在尝试获取所有动态选择框,但它总是返回第一种颜色。 例如,我有一组默认颜色,但随后我单击“添加更多”,它会添加另一组颜色,但是当我将其发布到 Controller 中时,它总是返回
我正在尝试为多语言目的索引多字段字符串属性(“prueba”)。我的映射正在使用注释 @MultiField( mainField = @Field(type = FieldType.St
我正在使用 AEM 6.1 并使用 acs aem commons 2.2 版 bundle 提供的多字段。我想限制我可以配置的多字段数量。我已经阅读了文档 here但似乎没有任何效果。有什么想法吗?
我是一名优秀的程序员,十分优秀!