2017-01-17 45 views
0

我必須搜索包含許多來自化學和生物分析的符號和術語的索引。它包含許多希臘字母,適用於各種分析方法。我想優化以下內容:在Elasticsearch中查找希臘字母及其翻譯(αas alpha)

  • 找到α通過搜索alpha
  • 通過搜索iron找到Fe

我是否需要自己創建此映射?

+1

如何使用[同義詞標記過濾器](https://www.elastic.co/guide/en/elasticsearch/reference/2.3/analysis-synonym-tokenfilter.html)來映射所有您需要的100多個值? – Val

+0

這應該是正確的,但我不知道它叫什麼。謝謝。爲什麼不添加它作爲答案? – tobias47n9e

回答

1

我會使用synonyms token filter來映射所有需要的100多個值。

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

注意,代替內聯列出所有同義詞,你也可以使用他們的synonyms_path設置存儲在一個文件,並指向它。

+0

謝謝你的例子。真的有幫助! – tobias47n9e

+0

酷,很高興它幫助! – Val