Я проиндексировал данные в elasticsearch. Имя индекса - «demo». У меня есть два типа (сопоставления) для «демо», один - «пользователь», а другой - «блог». «user» type имеют поля - имя, город, страна, другие поля и блог - «title», description »,« author_name »и т. Д. Теперь я хочу найти« demo ». Если я хочу искать« java », то он принесет все документы, которые имеют «java» в любых полях любого типа, либо «пользователь», либо «блог».Elasticsearch - поиск по нескольким нескольким типам индекса и его различным типам
1
A
ответ
6
Для этого индекса можно использовать "_all"
field. По умолчанию каждое из ваших полей будет включено в "_all"
поле для каждого типа. Тогда вы можете просто запустить match
запрос к "_all"
полю. Кроме того, при поиске индекса, просто не указать тип и будут искать все типы.
Вот пример :
DELETE /test_index
PUT /test_index
{
"settings": {
"number_of_shards": 1
},
"mappings": {
"user": {
"properties": {
"name" : { "type": "string" },
"city" : { "type": "string" },
"country" : { "type": "string" }
}
},
"blog": {
"properties": {
"title" : { "type": "string" },
"description" : { "type": "string" },
"author_name" : { "type": "string" }
}
}
}
}
POST /test_index/_bulk
{"index":{"_index":"test_index","_type":"user"}}
{"name":"Bob","city":"New York","country":"USA"}
{"index":{"_index":"test_index","_type":"user"}}
{"name":"John","city":"Jakarta","country":"Java/Indonesia"}
{"index":{"_index":"test_index","_type":"blog"}}
{"title":"Python/ES","description":"using Python with Elasticsearch","author_name":"John"}
{"index":{"_index":"test_index","_type":"blog"}}
{"title":"Java/ES","description":"using Java with Elasticsearch","author_name":"Bob"}
POST /test_index/_search
{
"query": {
"match": {
"_all": "Java"
}
}
}
...
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 0.68289655,
"hits": [
{
"_index": "test_index",
"_type": "blog",
"_id": "hNJ-AOG2SbS0nw4IPBuXGQ",
"_score": 0.68289655,
"_source": {
"title": "Java/ES",
"description": "using Java with Elasticsearch",
"author_name": "Bob"
}
},
{
"_index": "test_index",
"_type": "user",
"_id": "VqfowNx8TTG69buY9Vd_MQ",
"_score": 0.643841,
"_source": {
"name": "John",
"city": "Jakarta",
"country": "Java/Indonesia"
}
}
]
}
}
Смежные вопросы
- 1. Поиск по нескольким типам в упругом поиске
- 2. ElasticSearch NEST запросов по нескольким типам
- 3. Scala pattern соответствует нескольким типам
- 4. запросов по нескольким типам с использованием RavenDb
- 5. Рекомендации по нескольким типам игрового сервера
- 6. ElasticSearch: GeoLocation расстояние поиск по типам
- 7. Как применить динамические форматы дат к нескольким типам в Elasticsearch?
- 8. ElasticSearch NEST - Поиск по нескольким типам, но применять фильтр по выбранному типу
- 9. Ant-style pattern, соответствующий нескольким типам файлов
- 10. Elasticsearch delete по всем индексам и типам
- 11. ElasticSearch Оберточная головка по типам индексов
- 12. Получить таксономические ссылки, отфильтрованные по нескольким типам таксономии
- 13. Возвращение Neo4J Комбинированные отношения при поиске по нескольким типам отношений
- 14. Neo4j Cypher traversal - найти путь по нескольким типам отношений
- 15. Эту страницу поиска по нескольким типам в одном индексе
- 16. Ajax Поиск по типам пользователей
- 17. elasticsearch по нескольким полям
- 18. ElasticSearch pagination по нескольким индексам
- 19. математических операций по двум различным типам данных
- 20. RibbonControlsLibrary - навигация по различным типам поведения
- 21. Сортировки по различным типам с использованием JavaScript
- 22. Магистральный компаратор сортировки по различным типам полей
- 23. Поиск по нескольким индексам в ElasticSearch (Tire)
- 24. Соответствие нескольким типам исключений для одного и того же случая
- 25. Elasticsearch поиск значения по нескольким полям
- 26. Django-Haystack Поиск по нескольким полям индекса
- 27. Поиск по нескольким индексам и ссылочных документов в elasticsearch
- 28. Поиск по нескольким полям
- 29. Поиск по нескольким контроллерам
- 30. Пространственное Поиск по нескольким Points
Какое решение у вас? – bittusarkar