我正在使用elasticsearch插件,并且正在使用elasticSearchService.search(myKeywords)
运行搜索,该搜索会在所有标记为searchable
的域类中搜索关键字。
现在,我想将搜索限制在两个特定的域类中。我可以看到可以传递给搜索方法的名为indices
和types
的选项,但是如果仅在它们上使用域名类名称,则会出现错误,提示索引或类型不存在。我应该怎么做才能实现自己想要的?
(我是lucene和elasticsearch的新手,我不确定我是否了解索引和类型的概念。阅读文档时,我只能找到将搜索限制在特定字段(而不是孔域类或映射到其上的任何内容)的示例,在Lucene / elasticsearch概念中)。
最佳答案
要走的路是:
elasticSearchService.search(myKeywords, [types:["myPackage.MyClass","myPackage.MyOtherClass"]])
结果符合预期,但是我仍然担心每个域只有一个索引(一种类型)。不是我所期望的,但是我看不到如何将所有域类映射到docs所述的Hole数据库的单个索引
关于grails - 将搜索限制到特定域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38006404/