gpt4 book ai didi

elasticsearch - Elasticsearch:当查询的语言未知或混合时,在两个字段中提供多种语言

转载 作者:行者123 更新时间:2023-12-03 01:07:45 27 4
gpt4 key购买 nike

我是Elasticsearch的新手,我不确定在我的情况下如何进行。

我有以下映射:

{
"mappings": {

"book": {

"properties": {
"title": {
"properties": {
"en": {
"type": "string",
"analyzer": "english"
},
"ar": {
"type": "string",
"analyzer": "arabic"
}
}
},

"keyword": {
"properties": {
"en": {
"type": "string",
"analyzer": "english"
},
"ar": {
"type": "string",
"analyzer": "arabic"
}
}
}
}
}
}
}

样本文档可能在同一本书的同一 Realm 中使用两种语言。这是两个示例文档:
{
"title" : {
"en": "hello",
"ar": "مرحبا"
},
"keyword" : {
"en": "world",
"ar": "عالم"
}
}

{
"title" : {
"en": "Elasticsearch"
},
"keyword" : {
"en": "full-text index"
}
}

当我知道查询中使用哪种语言时,就可以按以下方式构建查询(使用英语时):
"query": { 
"multi_match" : {
"query" : "keywords",
"fields" : [ "title.en", "keyword.en" ]
}
}

根据我当前的文档映射,如果
  • 查询语言未知或
  • 是英语和阿拉伯语混合吗?

  • 感谢您的输入!

    问候。

    ps我也愿意对上述映射进行任何改进。

    最佳答案

    查询语言未知

    您可以在所有字段上使用相同的多匹配查询,例如,
    假设您正在使用关键字分析器

    "query": { 
    "multi_match" : {
    "query" : "keywords",
    "fields" : [ "title.en", "keyword.en", "title.ar", "keyword.ar" ]
    }
    }

    与英语和阿拉伯语混合

    您需要将分析仪更改为标准分析仪,然后才能执行相同的查询。

    谢谢

    关于elasticsearch - Elasticsearch:当查询的语言未知或混合时,在两个字段中提供多种语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24879502/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com