@Vadim-55

Как организовать поиск по содержимому файла?

Есть значительное количество файлов в формате json
Необходимо в них найти соответствия по поисковой фразе.
Подскажите как правильно сделать? Уже несколько дней бьюсь (

пример файла
[
  {    
    "category": "Алмазное бурение",
    "title": "Устройство для подачи воды Hilti DWP-10, 10 литров",
    "description": "Помпа вакуумная для подачи воды HILTI DWP10 - водяной насос\r\n\r\n- подача воды на установку алмазного бурения;\r\n- подача воды при алмазной резке бензорезом.",
    "keyword": "[\"аренда\",\"прокат\",\"аренда оборудование\",\"прокат оборудования\"]"
  },
  {
    "category": "Алмазное бурение",
    "title": "Cтанина опорная Hilti DD 130-RIG",
    "description": "Опорная станина для использования с установкой алмазного бурения Hilti DD 130",
    "keyword": "[\"аренда\",\"прокат\",\"аренда оборудование\",\"прокат оборудования\"]"
  },
  {
   ...
  }
]


пример поисковой фразы:
"Помпа для воды Hilti" (искать по полям title, description и желательно как-то подключить морфологию О_о)

необходимо вернуть весь json где было вхождение поисковой фразы:
{
"category": "Алмазное бурение",
"title": "Устройство для подачи воды Hilti DWP-10, 10 литров",
"description": "Помпа вакуумная для подачи воды HILTI DWP10 - водяной насос\r\n\r\n- подача воды на установку алмазного бурения;\r\n- подача воды при алмазной резке бензорезом.",
"keyword": "[\"аренда\",\"прокат\",\"аренда оборудование\",\"прокат оборудования\"]"
},
  • Вопрос задан
  • 370 просмотров
Пригласить эксперта
Ответы на вопрос 1
AlexXYZ
@AlexXYZ
O Keep Clear O
Есть два варианта:
1. Поставьте Elastic Search, загоните туда эти файлы и выполняйте к базе поисковые запросы. Просто на поиграться усилий почти не требуется. Только, наверное, чтобы загнать файлы придётся писать небольшую програмку, чтобы она отправила файлы методом POST.
2. Загнать все json в NOSQL базу (Mongo - чистый NoSQL, Postgre или MySQL в колонку типа JSON).

Например, на ElasticSearch я сделал обработку документации для техподдержки:

2ed94a68bcd94213b43f24c79e76b84e.png


Но это если нужно заморочиться с интерфейсом. Для минималистических целей я предпочитаю MySQL. У него достаточно хороший набор методов для работы с типом JSON. Например:

8001f2cbae9a4c6b89507763727e6edf.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы