您好我最近开始使用弹性搜索,我似乎无法仅搜索整个单词。
例如:
输入:abc
匹配:abc,abc d,e abc,...
不匹配:abcd,emabc,...
我尝试过使用以下内容:
public class MyClass{
static{
System.loadLibrary("MyClass");
}
public static native void init();
public static native void testCpp(long buf);
public static void testJava(long buf){
testCpp(buf);
}
public static void main(String[] args){
init();
}
}
但似乎没有任何效果。我怎么能这样做?
答案 0 :(得分:0)
我假设您使用Standard Analyzer来分析索引时的字段,这会将数据拆分为单词。然后你只需要使用Match Query(或更灵活的查询:Query String Query,它支持多字段,通配符搜索......)来查询数据:
{
"query" : {
"match" : {
"keywords.alias" : {
"query" : "abc"
}
}
}
}