gpt4 book ai didi

elasticsearch - Elasticsearch同义词仅适用于特定字段

转载 作者:行者123 更新时间:2023-12-03 00:08:37 24 4
gpt4 key购买 nike

我有一个具有adjustmentorganizationcountry字段的ES映射。我想为这些特定字段定义同义词,例如:

SA => Seasonally Adjusted # for adjustment
SA => Special Analysis # for organization
SA => Kingdom of Saudi Arabia # for country

(注意,这是人为的示例,不是真实数据)

我想这会同时发生在索引和查询时间?

如何指定同义词应用于特定字段,以便对 SA进行搜索将返回所有包含 Seasonally Adjusted中的 adjustmentSpecial Analysis中的 organizationKingdom of Saudi Arabia中的 country的所有文档?

另外,我可以使用基于嵌套文档的嵌套字段来执行此操作吗?这样子文档 { type: country, value: SA }{ type: organization, value: SA }{ type: adjustment, value: SA }可以正常工作吗?

(ES 2.4)

最佳答案

您可以使用自定义同义词过滤器为所有字段创建自定义分析器

例如,

分析仪

        "country_text_analyzer": {
"type": "custom",
"tokenizer": "keyword",
"filter": [
"lowercase",
"country_synonym"
]
}

筛选器:
         "country_synonym" : {
"type" : "synonym",
"synonyms_path": "synonyms/synonyms_countries.txt" //<-- this path is relative to ES_CONFIG location
}

您可以为所有字段创建类似的分析器/过滤器,这将为您的用例提供所需的行为。

关于elasticsearch - Elasticsearch同义词仅适用于特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42864799/

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