小编Mar*_*rah的帖子

带有多个过滤器的ElasticSearch

我正在尝试构建一个查找所有用户文档(docType = user)的查询,然后根据许多过滤器对其进行过滤.例如位置,性别,年龄等.根据我正在构建的搜索功能的用户输入添加/删除过滤器.

下面没有返回结果:

{
    "query": {
        "filtered": {
            "query": {
                "match_all": {}
             },
             "filter": {
                 "and": {
                     "filters": 
                     [
                         {
                             "term": {
                                 "doc.docType": "user"
                             }
                         },
                         {
                             "term": {
                                 "doc.data.profile.location" : "CA"
                             }
                         }
                     ]
                 }
             }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

返回结果如下:

{
    "query": {
        "filtered": {
            "query": {
                "field": {
                    "doc.data.profile.location" : "CA"
                }
             },
             "filter": {
                 "and": {
                     "filters": 
                     [
                         {
                             "term": {
                                 "doc.docType": "user"
                             }
                         }
                     ]
                 }
             }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

后者虽然返回结果,但从长远来看不会起作用,因为我可能想要为年龄,性别等添加额外的过滤器,我似乎无法添加多个字段.如果我删除了位置过滤器,则第一个查询有效.

任何指导帮助非常感谢.

elasticsearch

4
推荐指数
3
解决办法
2万
查看次数

Laravel中大型模型的最佳实践

我已经决定重新创建一个我在Laravel中的现有网站,作为学习框架如何工作的方法,并且遇到了一个我似乎无法得到合适解释的问题.

我目前使用我构建的自定义MVC框架.目前,我将拥有一个拥有大量业务逻辑的"模型".因此,例如,在我的UserModel中,我拥有与数据库交互的所有函数,但我还有许多与用户相关但没有与数据库交互的其他函数.

是否可以将此代码放入Eloquent模型中?

php oop laravel eloquent laravel-5

4
推荐指数
2
解决办法
1093
查看次数

在jQuery动态添加到DOM中时检测表单提交

场景:

我有一个选择框,其中的数据由来自php配置文件的数据填充.如果选择中没有匹配值可供选择,我允许用户向其添加字段.我创建了一个小的输入表单,通过jQuery添加,我想抓住帖子提交,然后将其推迟到ajax函数.

问题:

由于表单是动态添加的,我无法捕获表单提交,页面最终重新加载.

这不起作用:

$('form[name="add"]').on('submit', function(e) {.....
Run Code Online (Sandbox Code Playgroud)

一个解决方案

如果我不使用表单元素并在div中模拟它,我可以通过使用来解决

$(document).on('click', 'div.add_form a[name="submit"]', function() {.....
Run Code Online (Sandbox Code Playgroud)

然而:

虽然上面的解决方案有效,但我将不胜感激1)有人可以教我如果可以从使用jQuery动态添加到页面的表单中捕获提交,并且2)如果它是"良好实践"使用那种方法

更新

$(document).on('submit', 'form[name="add"]', function(e){ 
    console.log('here')
    e.preventDefault() 
})
Run Code Online (Sandbox Code Playgroud)

此事件委派不会捕获表单,因为我可以从控制台中看到启用了保留日志

forms jquery

2
推荐指数
1
解决办法
597
查看次数

.htaccess modrewrite到一个文件而不是目录

如何在.htaccess中使用ModRewrite重定向/ admin到admin.php而不显示/ admin目录.

这个:RewriteRule ^ admin $ admin.php当前显示/ admin目录而不是脚本.

我做了一些谷歌搜索但似乎无法获得正确的关键字.提前致谢!

php .htaccess mod-rewrite

0
推荐指数
1
解决办法
77
查看次数