grails - 将搜索限制到特定域

标签 grails elasticsearch lucene elasticsearch-plugin

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

现在,我想将搜索限制在两个特定的域类中。我可以看到可以传递给搜索方法的名为indicestypes的选项,但是如果仅在它们上使用域名类名称,则会出现错误,提示索引或类型不存在。我应该怎么做才能实现自己想要的?

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

最佳答案

要走的路是:

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

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

关于grails - 将搜索限制到特定域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38006404/

相关文章:

elasticsearch - 如何计算 “value”大于0的存储桶总数?

lucene - 在 Solr 中使用 Nutch 爬虫

java - 在GGTS 3.6.4上进行调试。RELEASE无法检查并抛出异常:ContentTypeUtils.isGroovyLikeFileName(Ljava/lang/String;)Z

grails - 在不输出完全限定的字段名称的情况下渲染renderErrors

hibernate - Grails命名查询NOT IN

ruby-on-rails - ElasticSearch构建查询取决于条件

grails - 具有索引属性的hasErrors

Elasticsearch:我可以安全地删除收缩索引吗?

lucene - 来自 couchdb-lucene 的分页结果

java - Lucene - 精确的字符串匹配