2017-01-17 44 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