0

検索クエリでアナライザーを制御したいと考えています。

現時点では、私のコードは次のようになります。

client.execute(search in indexName / documentType query {
  bool {
    must(
      termQuery("email", email),
      termQuery("name", name)
    )
  }
}

ここでアナライザーを制御するにはどうすればよいですか?

4

1 に答える 1

1

termクエリは検索用語を分析しないことに注意してください。そのため、探しているのはおそらくmatchクエリであり、次のようになります。

client.execute(search in indexName / documentType query {
  bool {
    must(
      termQuery("email", email),
      matchQuery("name", name)              <--- change this to match query
         .analyzer(StandardAnalyzer)        <--- add this line
    )
  }
}

テスト ケースも優れた情報源です。このSearchDslTest.scalaファイルには、クエリの可能なすべてのプロパティを設定する方法が記載されていmatchます。

于 2015-12-02T03:30:41.380 に答える