弹性搜索匹配问题

时间:2016-01-28 05:57:32

标签: elasticsearch pattern-matching match

当我进行弹性搜索查询时,我遇到了查找结果的问题。我已经验证索引具有搜索元素。

这是我的查询。我们的想法是找到所有具有" ale"全部或部分登录LOGIN,FIRST_NAME和LAST_NAME字段。我没有任何具有名字或姓氏或登录名称的条目" ale"。但是,我的索引条目包含名字或姓氏的一部分或登录为" ale"。

我认为我做错了什么,但我不确定如何才能做到这一点。

请告知。

g++ -Os -g -std=c++0x -c SM.cpp
g++ -Os -g -std=c++0x -c mylang.cpp
bison -d mylang.yy
flex mylang.ll
g++ -Os -g -std=c++0x -c mylang.yy.tab.c
gcc  -c lex.yy.c
g++ -Os  -std=c++0x  -o mylang mylang.yy.tab.o lex.yy.o SM.o mylang.o -lm

1 个答案:

答案 0 :(得分:0)

{
"query" : {
"query_string" : {
  "query" : "*ale*",
  "fields" : [ "FIRST_NAME^10.0", "LAST_NAME^10.0", "LOGIN^10.0"]
  }
},
"_source" : {
"includes" : [ "FIRST_NAME", "LAST_NAME", "LOGIN"],
 }
}

这将作为like中的sql运算符,这正是您想要的。