我需要在我的應用程序中添加搜索欄。搜索將按名和姓搜索。我不知道如何編寫彈性搜索查詢。名字和姓氏是兩個分隔的字段。我在ES中很新。elasticsearch中的多字段搜索查詢
例如: 名:約翰 姓:約書亞
搜索欄串上的結果: 約翰·喬 約翰·喬斯 約翰·喬希 約書亞約翰 約書亞荷蘭Joh ...
我需要在我的應用程序中添加搜索欄。搜索將按名和姓搜索。我不知道如何編寫彈性搜索查詢。名字和姓氏是兩個分隔的字段。我在ES中很新。elasticsearch中的多字段搜索查詢
例如: 名:約翰 姓:約書亞
搜索欄串上的結果: 約翰·喬 約翰·喬斯 約翰·喬希 約書亞約翰 約書亞荷蘭Joh ...
使用下一個查詢:
GET /_search {
"query": {
"query_string" : {
"query" : "firstName:jhon
AND lastName: Lennon"
}
}
}
您可以使用在您的搜索中查詢Prefix。匹配具有包含具有指定前綴(未分析)的術語的字段的文檔。前綴查詢映射到Lucene Prefix Query
。查詢結構如下:
{
"query": {
"bool": {
"must": [
{
"prefix": {
"firstname": "jo"
}
},
{
"match": {
"lastname": "jo"
}
}
]
}
}
}
不要通配符,因爲他們不會有效此搜索中