我对Apache Solr做了一些分析,它很适合从各种来源搜索数据。 我面临的问题是如何标准化我的搜索语法并将搜索文本转换为Solr查询。半自然语言使用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中的文本语法,如 第一个关键字应该是客户/行业/单位, 第二个关键值应该是一个或多个地区/地理位置 ,然后是度量值。
我不是在寻找谷歌喜欢搜索,但有限的搜索,用户知道要搜索什么。
感谢martin。你能建议一个好的Java API /示例谁可以帮助定义上下文无关语法。 – user3222372
也许这有助于:http://www.cs.columbia.edu/~zeph/software/JavaCFG/instructions.html –