我必须搜索一个包含许多化学和生物学分析符号和术语的索引。它包含许多用于各种分析方法的希腊字母。我想针对以下方面进行优化:

  • 通过搜索α来找到alpha
  • 通过搜索Fe来找到iron

  • 我需要自己创建此映射吗?

    最佳答案

    我将使用synonyms token filter来映射您需要的所有100多个值。

    PUT index
    {
        "settings" : {
            "analysis" : {
                "analyzer" : {
                    "synonyms" : {
                        "tokenizer" : "whitespace",
                        "filter" : ["synonym"]
                    }
                },
                "filter" : {
                    "synonym" : {
                        "type" : "synonym",
                        "synonyms" : [
                          "α => alpha",
                          "Fe => iron",
                          ...
                        ]
                    }
                }
            }
        }
    }
    

    请注意,除了内联列出所有同义词以外,您还可以将它们存储在文件中,并使用synonyms_path设置指向它。

    10-07 11:59