Я настроил поиск строки запроса с помощью оператора «И» по умолчанию. Мой запрос выглядит следующим образом:
{
"query": {
"query_string" : {
"query" : "Adam KT2 7AJ",
"default_operator" : "AND"
}
}
}
Я ожидаю, что это даст тот же результат, что и ниже ... но это не так.
{
"query": {
"query_string" : {
"query" : "Adam AND KT2 AND 7AJ",
"default_operator" : "OR"
}
}
}
Пока я вижу Оператор default_ имеет значение для моих результатов поиска, он не работает так, как мне бы хотелось.
Например:
QUERY1:
Adam AND KT2 AND 7AJ
, default_operator: or
- Результаты: 1 (как и ожидалось)
- [1] Имя: Адам Ламберт, Почтовый индекс KT2 7AJ
QUERY2:
Adam KT2 7AJ
, default_operator: and
- Результаты: 0
- (Не ожидается Это должно привести к тем же результатам, что и выше? Кажется
and
, так как default_operator выдает результаты, отличные от AND в запросе)
QUERY3:
KT2 7AJ
, default_operator: and
- Результаты: 2
- (Как и ожидалось, соответствует только обеим частям почтового индекса)
- [1] Имя: a , почтовый индекс KT2 7AJ
- [2] Имя: b , почтовый индекс KT2 7AJ
QUERY4:
KT2 7AJ
, default_operator: or
- Результаты: 5
- (Как и ожидалось, совпадение паролей для различных почтовых индексов)
- [1] Имя: a , почтовый индекс KT2 7AJ
- [2] Имя: b , Почтовый индекс KT2 7AJ
- [3] Имя: c, Почтовый индекс N7 7AJ
- [4] Имя: d , Почтовый индекс KT2 0DJ
- [5] Имя: e , Почтовый индекс KT2 0PQ
РЕДАКТИРОВАТЬ
Вот мое отображение. Вы заметите, что в адресе выставления счета есть поле post_code, но есть поля имени, прикрепленные и к shipping_address, и к клиенту.
Когда я запускаю запрос как Adam AND KT2 7AJ
, мы получаем результат для которого customer.name:Adam
AND
billing_address.post_code:KT2 7AJ
, чего я и ожидаю.
Если мы удалим AND, мы получим 0 результатов.
{
"t1_orders_1584882055": {
"mappings": {
"properties": {
"__class_name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"billing_address": {
"properties": {
"address1": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"address2": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"address3": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"company": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"country_code": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"created_at": {
"type": "date",
"format": "date_time"
},
"customer_id": {
"type": "long"
},
"email": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"id": {
"type": "keyword"
},
"name": {
"type": "text",
"analyzer": "edge_ngram_analyzer"
},
"phone": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"post_code": {
"type": "text",
"fields": {
"text": {
"type": "text"
}
},
"analyzer": "no_space_analyzer"
},
"redacted": {
"type": "boolean"
},
"region": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"town": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"updated_at": {
"type": "date",
"format": "date_time"
}
}
},
"billing_address_id": {
"type": "long"
},
"channel": {
"properties": {
"created_at": {
"type": "date"
},
"id": {
"type": "long"
},
"identifier": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"updated_at": {
"type": "date"
}
}
},
"channel_id": {
"type": "long"
},
"created_at": {
"type": "date",
"format": "date_time"
},
"customer": {
"properties": {
"created_at": {
"type": "date",
"format": "date_time"
},
"email": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"id": {
"type": "keyword"
},
"name": {
"type": "text",
"analyzer": "edge_ngram_analyzer"
},
"redacted": {
"type": "boolean"
},
"updated_at": {
"type": "date",
"format": "date_time"
}
}
},
"customer_id": {
"type": "long"
},
"id": {
"type": "keyword"
},
"name": {
"type": "text",
"analyzer": "edge_ngram_analyzer"
},
"order_id": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"order_items": {
"properties": {
"created_at": {
"type": "date"
},
"id": {
"type": "long"
},
"order_id": {
"type": "long"
},
"qty": {
"type": "long"
},
"sku": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"updated_at": {
"type": "date"
}
}
},
"received_at": {
"type": "date",
"format": "date_time"
},
"reference_number": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"ship_by": {
"type": "date"
},
"shipping_address": {
"properties": {
"address1": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"address2": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"address3": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"company": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"country_code": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"created_at": {
"type": "date",
"format": "date_time"
},
"customer_id": {
"type": "long"
},
"email": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"id": {
"type": "keyword"
},
"name": {
"type": "text",
"analyzer": "edge_ngram_analyzer"
},
"phone": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"post_code": {
"type": "text",
"fields": {
"text": {
"type": "text"
}
},
"analyzer": "no_space_analyzer"
},
"redacted": {
"type": "boolean"
},
"region": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"town": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"updated_at": {
"type": "date",
"format": "date_time"
}
}
},
"shipping_address_id": {
"type": "long"
},
"status": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"updated_at": {
"type": "date",
"format": "date_time"
}
}
}
}
}
Пример документа:
{
"_source": {
"id": 6,
"channel_id": 1,
"customer_id": 1,
"shipping_address_id": 11,
"billing_address_id": 12,
"order_id": "1234",
"reference_number": "1234",
"status": "open",
"received_at": "2020-02-24T18:03:21.000000Z",
"ship_by": "2020-02-24T18:03:21.000000Z",
"completed_at": null,
"created_at": "2020-03-18T16:17:28.000000Z",
"updated_at": "2020-03-18T16:17:28.000000Z",
"channel": {
"id": 1,
"name": "Amazon",
"identifier": "The",
"created_at": "2020-03-18T16:17:28.000000Z",
"updated_at": "2020-03-18T16:17:28.000000Z"
},
"customer": {
"id": 1,
"name": "Nam Test",
"email": "Nam@Test.com",
"redacted": false,
"created_at": "2020-03-18T16:17:28.000000Z",
"updated_at": "2020-03-18T16:17:28.000000Z"
},
"shipping_address": {
"id": 11,
"customer_id": 1,
"name": "Nam Test",
"email": "Nam@Test.COm",
"company": "",
"address1": "44",
"address2": "AD CLOSE",
"address3": "",
"town": "KINGSTON UPON THAMES",
"region": "",
"post_code": "KT2 7AJ",
"country_code": null,
"phone": "213223123",
"redacted": false,
"created_at": "2020-03-18T16:17:28.000000Z",
"updated_at": "2020-03-18T16:17:28.000000Z"
},
"billing_address": {
"id": 12,
"customer_id": 1,
"name": "Nam Test",
"email": "Nam@Test.COm",
"company": "",
"address1": "44",
"address2": "AD CLOSE",
"address3": "",
"town": "KINGSTON UPON THAMES",
"region": "",
"post_code": "KT2 7AJ",
"country_code": null,
"phone": "213223123",
"redacted": false,
"created_at": "2020-03-18T16:17:28.000000Z",
"updated_at": "2020-03-18T16:17:28.000000Z"
},
"order_items": [
{
"id": 6,
"order_id": 6,
"sku": "10-2-sk-ue",
"qty": 1,
"created_at": "2020-03-18T16:17:28.000000Z",
"updated_at": "2020-03-18T16:17:28.000000Z"
}
]
}
}