Javascript ElasticUI-使用ng单击触发搜索/排序
这是我和作者之间的一封电子邮件。我已经把它从电子邮件改为SO,希望它能对其他人有益。可以找到ElasticUI 我的原始问题Javascript ElasticUI-使用ng单击触发搜索/排序,javascript,angularjs,
elasticsearch,Javascript,Angularjs,
elasticsearch,这是我和作者之间的一封电子邮件。我已经把它从电子邮件改为SO,希望它能对其他人有益。可以找到ElasticUI 我的原始问题 我看到搜索是通过querystring.length启用的eui。我们希望搜索和排序由按钮触发,而不是 观看功能 当搜索没有返回结果时,会有点混乱。它只返回deafualt(全部),而不是no results found消息 结果。是否可以在默认情况下使结果为空 而不是全部归还 作者的答案 1+2-这两者都是可能的。在AngularJS中,记住什么是“模型” 您使用并连接
querystring.length
启用的eui
。我们希望搜索和排序由按钮触发,而不是
观看功能李>
no results found
消息
结果。是否可以在默认情况下使结果为空
而不是全部归还<div eui-query="ejs.MatchQuery('textField', querystring)" eui-enabled="querystring.length"> <input type="text" ng-model="querystring_live" />
<input type="button" ng-click="querystring=querystring_live" /> </div>
<div ng-if="!querystring.length"> No query specified </div>
没有指定查询
注意一下点击会发生什么。您还可以包装一个ng if子句
在您的周围显示结果,以便仅在查询完成时显示结果
指定的
当我包含这个代码段时,ng if
条件不起作用(“未指定查询”始终保持不变),提交搜索后,结果为空,即使是查询,我确信应该返回结果
作为一个新手,我可能会犯一个明显的错误。有什么明显的遗漏吗
编辑
发现问题:忘记填写要对其运行查询的字段:
eui query=“ejs.MatchQuery('post_title',querystring)”
('post_title'是ES字段)尽管您似乎已经找到了答案,但我认为您上面发布的“author-answer”(我)中仍然存在缺陷。好像我爱上了那个女孩。这应该更好地发挥作用:
<div ng-init="qs_model={live:'', after_click:''}">
Debug: {{qs_model | json}}
<h3>Search</h3>
<div eui-query="ejs.MatchQuery('tweet.text', qs_model.after_click)" eui-enabled="qs_model.after_click.length">
<input type="text" ng-model="qs_model.live" />
<input type="button" ng-click="qs_model.after_click=qs_model.live" />
</div>
<div ng-if="!qs_model.after_click.length">No query specified </div>
</div>
调试:{qs_模型| json}
搜寻
没有指定查询
在控制器中定义qs_模型比我前面演示的ng init更简洁
还要注意的是,即使禁用eui查询(未指定查询字符串),ElasticUI此时仍会在后台执行MatchAll查询(您可以选择使用ng if隐藏结果)。尽管看起来您可能已经找到了答案,但我认为您上面发布的“作者答案”(me)中仍然存在错误。好像我爱上了那个女孩。这应该更好地发挥作用:
<div ng-init="qs_model={live:'', after_click:''}">
Debug: {{qs_model | json}}
<h3>Search</h3>
<div eui-query="ejs.MatchQuery('tweet.text', qs_model.after_click)" eui-enabled="qs_model.after_click.length">
<input type="text" ng-model="qs_model.live" />
<input type="button" ng-click="qs_model.after_click=qs_model.live" />
</div>
<div ng-if="!qs_model.after_click.length">No query specified </div>
</div>
调试:{qs_模型| json}
搜寻
没有指定查询
在控制器中定义qs_模型比我前面演示的ng init更简洁
还要注意的是,即使禁用eui查询(未指定查询字符串),ElasticUI此时仍会在后台执行MatchAll查询(您可以选择使用ng if隐藏结果)。尽管看起来您可能已经找到了答案,但我认为您上面发布的“作者答案”(me)中仍然存在错误。好像我爱上了那个女孩。这应该更好地发挥作用:
<div ng-init="qs_model={live:'', after_click:''}">
Debug: {{qs_model | json}}
<h3>Search</h3>
<div eui-query="ejs.MatchQuery('tweet.text', qs_model.after_click)" eui-enabled="qs_model.after_click.length">
<input type="text" ng-model="qs_model.live" />
<input type="button" ng-click="qs_model.after_click=qs_model.live" />
</div>
<div ng-if="!qs_model.after_click.length">No query specified </div>
</div>
调试:{qs_模型| json}
搜寻
没有指定查询
在控制器中定义qs_模型比我前面演示的ng init更简洁
还要注意的是,即使禁用eui查询(未指定查询字符串),ElasticUI此时仍会在后台执行MatchAll查询(您可以选择使用ng if隐藏结果)。尽管看起来您可能已经找到了答案,但我认为您上面发布的“作者答案”(me)中仍然存在错误。好像我爱上了那个女孩。这应该更好地发挥作用:
<div ng-init="qs_model={live:'', after_click:''}">
Debug: {{qs_model | json}}
<h3>Search</h3>
<div eui-query="ejs.MatchQuery('tweet.text', qs_model.after_click)" eui-enabled="qs_model.after_click.length">
<input type="text" ng-model="qs_model.live" />
<input type="button" ng-click="qs_model.after_click=qs_model.live" />
</div>
<div ng-if="!qs_model.after_click.length">No query specified </div>
</div>
调试:{qs_模型| json}
搜寻
没有指定查询
在控制器中定义qs_模型比我前面演示的ng init更简洁
还要注意的是,即使禁用eui查询(未指定查询字符串),ElasticUI此时仍会在后台执行匹配所有查询(您可以选择使用ng if隐藏结果)。Yousef,我对此进行了尝试,发现当它返回结果时,结果非常不准确。当我从a)ejs.MatchQuery中的第二个变量和b)启用了
eui
指令中删除.length
时,结果再次准确。删除no-specified
的操作达到了预期效果。Yousef,我尝试了一下,发现当它返回结果时,结果非常不准确。当我从a)ejs.MatchQuery中的第二个变量和b)启用了eui
指令中删除.length
时,结果再次准确。删除no-specified
的操作达到了预期效果。Yousef,我尝试了一下,发现当它返回结果时,结果非常不准确。当我从a)ejs.MatchQuery中的第二个变量和b)启用了eui
指令中删除.length
时,结果再次准确。删除no-specified
的操作达到了预期效果。Yousef,我尝试了一下,发现当它返回结果时,结果非常不准确。当我从a)ejs.MatchQuery中的第二个变量和b)启用了eui
指令中删除.length
时,结果再次准确。删除未指定任何查询
的操作按预期进行。