我想在ElasticSearch兩個字段進行搜索,字段有:如何在ElasticSearch中使用AND編碼?
1)SEARCHTERM(文本字段)
2)市(文本字段)
如果我使用MySQL查詢是:
如果兩個都有價值
select * from table where term = 'abc' AND city = 'mexico'
只要長期擁有價值
select * from table where term = 'abc'
只要城市有值
select * from table where city = 'mexico'
如何使用這ElasticSearch我與嘗試以下:
"bool" : {
"should": [
{
"multi_match": {
"query": '"'+term.toLowerCase()+'"',
"fields":
[
"title", "desc"
],
"operator" : "and"
}
},
{
"wildcard": {
"city": {
value: city.toLowerCase()
}
}
}
],
}
請幫忙
KS
Randheer
我試過了,但如果我只用城市那麼它不會工作, 「必須」工作,如果這兩個值輸入它dosn't單場不起作用! –
什麼不在你的查詢中工作? – MartinSchulze
如果我只想跟城市一起搜索就不會工作 –