我正在使用ElasticSearch,我想知道我是否可以使用faceting来检索我的结果中的一些统计数据,更具体地说,我的结果中提到的最多的人.我已经有一个包含该信息的字段.但是现在,当我想用多个单词对它进行分组时,我的方面结果会按术语打破该字段中的数据.
即:如果用户搜索John,我想获得诸如的数据
{
[...]
"facets" : {
"topPeople" : {
"_type" : "terms",
"missing" : 0,
"total" : 1739884,
"other" : 1705319,
"terms" : [ {
"term" : "John Smith",
"count" : 13954
}, {
"term" : "John Snow",
"count" : 1432
}, {
"term" : "John Baird",
"count" : 770
}]
}
}
Run Code Online (Sandbox Code Playgroud)
相反,ElasticSearch按术语中断结果并返回如下内容:
{
[...]
"facets" : {
"topPeople" : {
"_type" : "terms",
"missing" : 0,
"total" : 1739884,
"other" : 1705319,
"terms" : [ {
"term" …Run Code Online (Sandbox Code Playgroud) 我很难过.我正在尝试测试一个AspectJ类.当我运行我的应用程序时,我的Aspect类被完美地拾取.但是,我似乎无法让任何Aspect类拦截测试中的任何方法.
我使用的是Spring 3.2.2,AspectJ 1.7.2和Maven 4.
这是我正在使用的简单测试:
测试AspectJ类
package my.package.path.config;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Aspect
public class TestAOP {
private String message;
public TestAOP() {
}
@Pointcut("execution(* my.package.path.TestAOPClient.relayMessage(..))")
public void aopPointcut() {
}
@Around("aopPointcut()")
public String monitor(ProceedingJoinPoint pjp) throws Throwable {
String msg = (String)pjp.proceed();
this.setMessage(msg);
return msg;
}
Run Code Online (Sandbox Code Playgroud)
}
正在拦截其方法的类
package my.package.path.config;
public class TestAOPClient {
public String relayMessage(String msg) {
return msg;
}
}
Run Code Online (Sandbox Code Playgroud)
测试类
package my.package.path.config;
import static org.hamcrest.Matchers.equalTo;
import …Run Code Online (Sandbox Code Playgroud) 我正在使用jstree插件,带有ajax调用.在某些时候,我打电话
$("#tree").jstree("refresh");
Run Code Online (Sandbox Code Playgroud)
为了检索通过ajax调用创建的新节点.这很有效,只有select_node.jstree在刷新时被触发.有没有办法阻止在树刷新时触发select_node?