将搜索范围限制在特定域

时间:2016-06-24 05:51:10

标签: grails elasticsearch lucene elasticsearch-plugin

我正在使用elasticsearch插件,我使用elasticSearchService.search(myKeywords)运行搜索,搜索标记为searchable的所有域类的关键字。

现在我想将搜索限制为两个特定的域类。我可以看到有一些名为indicestypes的选项可以传递给搜索方法,但如果我只是在它们上使用我的域类名称,我会收到错误,告诉索引或类型不存在。我到底该怎样做才能达到我的目的?

(我是lucene和elasticsearch的新手,我不确定我是否理解索引和类型概念。阅读文档我只能找到将搜索限制到特定字段的示例,而不是一个洞域类或其他任何内容在lucene / elasticsearch概念中映射到。

1 个答案:

答案 0 :(得分:0)

要走的路是:

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

结果如预期,但我仍然担心每个域有一个索引(和一种类型)。不是我的预期,但我看不到如何将所有域类映射到孔数据库的单个索引,如docs所述