2012-04-19 12 views
3

Java APIを使用してElasticSearchで特定の検索を実行しようとしています。それはうまくいくが、私は雪だるまアナライザを使う必要がある。Java APIを使用しているときにElasticSearchで特定のアナライザを使用する方法

私が本当に望むのは、この種の検索を実装することです。 http://localhost:9200/myindex/myfeed/_search?q=myterm:myvalue&analyzer=myanalyzer Java APIを使用しています。

私は多くの異なるタイプのクエリ(フィルタリング、すべて一致、テキスト)を持つTransportClientを使用しています。私は一括して複数の検索クエリを実行しています。

SearchRequestBuilderにアナライザーに関連するものはありません。私は間違った場所を探していますか?

答えて

5

あなたの要求はあなたがのにJavaAPI要求へのREST APIリクエストを翻訳する問題に実行されている場合、一般的に

client.prepareSearch("myindex", "myfeed") 
      .setQuery(
        QueryBuilders.queryString("myterm:myvalue") 
          .analyzer("myanalyzer") 
      ) 
      .execute() 
      .actionGet(); 

につながるだろう、残り??? Actionクラス、見てみましょう?あなたの要求の名前です。たとえば、検索リクエストの作成について詳しく知りたい場合は、RestSearchAction.javaをご覧ください。また、elasticsearch integration testsには、多くのJava APIの例があります。

+0

ありがとうございます。すべてのQueryBuilderに 'analyzer()'関数が実装されているとは限りません。私はできるだけジェネリックにしようとしましたが、適切なクエリ(私の場合はtextQuery)を構築しながらアナライザを指定すると機能します。ありがとうございました。 – AlexBergeron

関連する問題