1
我正在使用Elasticsearch查詢數據庫中的作業。以下是我正在使用的查詢。Elasticsearch忽略查詢字符串
查詢應問以下內容:
-Query匹配的文本,名稱或說明
-Job必須包含所有給定的類別和段
的但是我是有問題,是當我給一個查詢,並添加段和類別。查詢被忽略,並且請求返回具有給定段和類別的所有作業。
{
"index": "jobs",
"type": "job",
"body": {
"query": {
"filtered": {
"query": {
"bool": {
"must": [
{
"match": {
"categories": "23"
}
},
{
"match": {
"segments": "10"
}
}
],
"should": [
{
"match": {
"name": "php"
}
},
{
"match": {
"text": "php"
}
},
{
"match": {
"description": "php"
}
}
]
}
},
"filter": {
"nested": {
"path": "networks",
"filter": {
"bool": {
"must": [
{
"term": {
"networks.id": 1
}
},
{
"term": {
"networks.status.raw": "PRODUCTION"
}
},
{
"range": {
"networks.start": {
"lte": "now"
}
}
},
{
"range": {
"networks.end": {
"gte": "now"
}
}
}
]
}
}
}
}
}
},
"aggs": {
"categories": {
"terms": {
"field": "categories"
}
},
"segments": {
"terms": {
"field": "segments"
}
}
}
}
}
作爲旁註,我使用laravel和elasticsearch的PHP實現,並且上述是查詢陣列的json_encoded表示。 (類型可能已被篡改)
至於建議,發送到彈性不串「23」,但詮釋23,因爲它有比較問題(舉例:「23」 = 23) – sergio 2015-03-03 11:30:36
這是一個事實,即引起我使用elasticsearchs php實現,上面是查詢數組的json編碼表示(probaly不完全是發送給ES0的。 – 2015-03-03 11:32:45