使用elasticsearch java api在文本上调用search_analyzer

时间:2016-12-22 21:35:34

标签: elasticsearch analyzer

我和这篇文章有同样的问题,但有一点不同。我需要使用elasticsearch api分析文本,但为字段调用 search_analyzer

(上一个回答)how to analyze text in elasticsearch using java api?

我关心的领域有分析仪和自定义分析仪。像这样:

       "body": {
          "type": "string",
          "fields": {"exact":{"type":"string"}},
         "analyzer" : "customfullTextUAX",
         "search_analyzer" : "customfullText"
       }
     

...

我一直在调用分析它的代码使用了分析器,我无法找出任何可以调用search_analyzer的设置。

我使用的代码:

AnalyzeRequest ac = new AnalyzeRequest(index).field(field).text(text).explain(true);
DetailAnalyzeResponse dar = iac.analyze(ac).actionGet().detail();

1 个答案:

答案 0 :(得分:1)

您需要明确指示AnalyzeRequest使用搜索分析器:

AnalyzeRequest ac = new AnalyzeRequest(index)
    .field(field)
    .analyzer("customfullText")          <--- add this
    .text(text)
    .explain(true);
DetailAnalyzeResponse dar = iac.analyze(ac).actionGet().detail();