Grails 无法使用可搜索插件筛选搜索结果

Grails 无法使用可搜索插件筛选搜索结果,grails,searchable,Grails,Searchable,我一直在使用Searchable搜索用户创建的联系人。到目前为止,它运行良好。现在我想实现过滤,比如搜索那些属于买家类型的联系人。为此,用户首先必须从选择框中选择联系人类型并按姓名搜索联系人 我的问题是它会显示搜索结果,但不会按联系人类型过滤。就像我选择Contact_Type作为Buyer,name作为vim一样,它显示带有vim的搜索结果,但不过滤Contact_Type ContactController中的搜索方法: def search = { def query = par

我一直在使用Searchable搜索用户创建的联系人。到目前为止,它运行良好。现在我想实现过滤,比如搜索那些属于买家类型的联系人。为此,用户首先必须从选择框中选择联系人类型并按姓名搜索联系人

我的问题是它会显示搜索结果,但不会按联系人类型过滤。就像我选择Contact_Type作为Buyer,name作为vim一样,它显示带有vim的搜索结果,但不过滤Contact_Type

ContactController中的搜索方法:

def search = {
    def query =  params.q
    def filterContact = params.filter

    if(query && filterContact){
        def srchResults = searchableService.search(query, filterContact)
        render(view: "list",
            model: [contactInstanceList: srchResults.results,
            contactInstanceTotal:srchResults.total])
    }
    else{
        render "not record found";
    }
}
选择框

<g:select style=" background:transparent;border:none;margin-bottom:10px;color:#787878;"  from="${com.vproc.enquiry.ContactType?.values()}"
            noSelection="['':'Search By']" value="${contactInstance?.contactType?.values()}" name="filter" />
重定向到搜索结果的JS方法:

<script type="text/javascript">
    function showContact(id){
        document.location.href ='/VProcureFinal/contact/search?q=' + $("#"+ id).val()
            + "&filter=" + $("#filter").val();
    }
</script>

假设我创建了一个名为Vim的联系人,联系人类型为Buyer。当我用contact_type=Seller和name=Vim'搜索时,它仍然显示搜索结果,但不应显示此结果。有人知道怎么做吗?

试试这个:.search$query$filterContact,defaultOperator:andhi@alidad,谢谢回复,但它给出了缺少字符串或闭包的查询参数错误。hi@alidad,您是否认为def filterContact=params.filter是从中获取值的正确方法。?println params是否看到您的参数如何进入您的搜索操作。hi@Alidad,输出为:q:numenta filter:Vendor