2016-06-24 4 views
0

私はelasticsearchプラグインを使用しています。を使用して検索を実行しています。searchableとマークされているすべてのドメインクラスでキーワードを検索しています。検索を特定のドメインに限定する

ここでは、検索を2つの特定のドメインクラスに制限したいと考えています。検索メソッドに渡すことができるindicestypesという名前のオプションがあることがわかりますが、単純に自分のドメインクラス名を使用すると、インデックスまたはタイプの存在を知らせるエラーが発生します。私が欲しいものを達成するために正確に何をすべきですか?

(私はluceneとelasticsearchを初めて使いました。インデックスと型の概念を理解しているかどうか分かりません。これはlucene/elasticsearchの概念にマップされています)。どこへ行く

+0

'elasticSearchAdminService.indices'の検査私のドメインクラス。名前は "org.mypackage_v0"のように見えます。ドキュメントを読む私は予想される動作がホールデータベースの 'index'でなければならず、各ドメイン(テーブル)を' type'としてマップする必要があることを知りました。どうやってやるの? –

答えて

0

の方法である:予想通りの結果がありますが、私はまだ、ドメインごとに1つのインデックス(および1種類)を有する心配です

elasticSearchService.search(myKeywords, [types:["myPackage.MyClass","myPackage.MyOtherClass"]]) 

。私が期待していたものではありませんが、すべてのドメインクラスをホールデータベースの単一のインデックスにマップする方法はわかりませんdocs

+0

私はプラグインがデフォルトでドメインごとのインデックスパッケージを作成することを理解しました。アプリケーションの単一のインデックスを作成するには、Config.groovyに 'elasticSearch.index.name = 'myIndexName''を設定する必要があります –

関連する問題