Я сделал некоторый анализ на Apache Solr и его довольно хорошо, чтобы искать данные из разных источников. Проблема, с которой я столкнулась, - это как стандартизировать мою грамматику поиска и перевести текст поиска в запрос Solr.Semi Natural language Поиск с использованием Apache Solr
У меня есть три типа файлов/таблицы базы данных для поиска, а именно: клиент, промышленность и подразделение. Первое ключевое слово в поле поиска должно быть любым из трех. После этого, пользователь может определить починки набор критериев:
Metrics : 0 or many (ex, exposure, income, revenue, loan_amt etc)
Dimension : 0 or many (Geography, region, etc)
Пример:
customer - Returns all customer data from customer core
customer income from Asia - Returns all customer income details who belongs to Asia
customer income revenue from Asia - Returns all customer income and revenue details who belongs to Asia
Как я могу перевести выше естественного языка поиска текста в Solr запроса? Могу ли я исправить грамматику текста в Solr, как Первое ключевое слово должно быть клиентом/промышленностью/единицей, Второй ключ-значение будет одним или несколькими регионами/географией , а затем метрическими значениями.
Я не ищу Google, как поиск, но ограниченный поиск, где пользователь знает, что искать.
Спасибо martin. можете ли вы предложить хороший Java API/пример, который может помочь определить контекстную свободную грамматику. – user3222372
Возможно, это поможет: http://www.cs.columbia.edu/~zeph/software/JavaCFG/instructions.html –