调用findBy时发生TransientObject异常。。。关于Grails中弹性搜索的结果

调用findBy时发生TransientObject异常。。。关于Grails中弹性搜索的结果,
Warning: implode(): Invalid arguments passed in /data/phpspider/zhask/webroot/tpl/detail.html on line 45
,,我已经成功地使用运行Grails2.5.0的grails项目设置了弹性搜索插件。我可以搜索并获得结果。但是某些操作在结果上是不可能的,比如在一个域上调用通过GORM的findBy与另一个域交互的方法 考虑到Foo类 class Foo { static searchable = true def getBars() { return Bar.findAllByFoo(this) } } 律师班 class Bar { Foo foo static s

我已经成功地使用运行Grails2.5.0的grails项目设置了弹性搜索插件。我可以搜索并获得结果。但是某些操作在结果上是不可能的,比如在一个域上调用通过GORM的findBy与另一个域交互的方法

考虑到Foo类

class Foo {
   static searchable = true

   def getBars() {
      return Bar.findAllByFoo(this)
   }
}
律师班

class Bar {
   Foo foo
   static searchable = true
}
下面的第三行将导致TransientObject异常

def result = Foo.search("Some parameter")
def foo = result.searchResults.first()
def bars = foo.bars //Fails
例外

object references an unsaved transient instance - save the transient instance before flushing: org.example.Foo. Stacktrace follows:
Message: object references an unsaved transient instance - save the transient instance before flushing: org.example.Foo
Line | Method
->>  105 | methodMissing    in org.grails.datastore.gorm.GormStaticApi
在网上搜索这个问题会得到很多关于GORM保存操作的点击,我想这不是问题所在。如果对象不是从弹性搜索结果中获取的,那么这就很好了,为什么我认为这个问题与插件有关

def foo = Foo.get(1)
def bars = foo.bars //Works
检查:

要映射父/子关系,子元素必须 将父元素包含为组件或将其引用为 参考文件。此组件必须映射为中的父组件 子元素

例如:

class ParentElement {
…
}

class EmbeddingChild {
    ParentElement parentElement

    static searchable = {
        parentElement parent: true, component: true
    }
}

class ReferencingChild {
    ParentElement parentElement

    static searchable = {
        parentElement parent: true, reference: true
    }
}
还有。

检查:

要映射父/子关系,子元素必须 将父元素包含为组件或将其引用为 参考文件。此组件必须映射为中的父组件 子元素

例如:

class ParentElement {
…
}

class EmbeddingChild {
    ParentElement parentElement

    static searchable = {
        parentElement parent: true, component: true
    }
}

class ReferencingChild {
    ParentElement parentElement

    static searchable = {
        parentElement parent: true, reference: true
    }
}

还有。

您正在使用哪个版本的elasticsearch?你正在使用吗?是的,我正在使用插件“:elasticsearch:0.0.4.6”你正在使用哪个版本的elasticsearch?您正在使用吗?是的,我正在使用插件“:elasticsearch:0.0.4.6”谢谢,但我已经阅读了文档,找不到任何适用于我的情况的插件。我已经尝试将
static searchable={foo component:true}
添加到Bar类中,但没有任何运气。我不认为我可以向Foo类添加更多内容,因为它不包含任何Bar的引用属性。谢谢,但我已经阅读了文档,找不到任何适用于我的情况的内容。我已经尝试将
static searchable={foo component:true}
添加到Bar类中,但没有任何运气。我认为我不能向Foo类添加更多内容,因为它不包含任何指向Bar的引用属性。