繁体   English   中英

使用Apache Solr进行半自然语言搜索

[英]Semi Natural language Search using Apache Solr

我对Apache Solr进行了一些分析,它可以很好地搜索来自各种来源的数据。 我面临的问题是如何标准化搜索语法并将搜索文本转换为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的搜索,而是在用户知道要搜索什么的有限搜索中寻找。

为了不被认为是NLP最困难的领域-NLP的问题回答域,请尝试定义您问题的语法,例如Y中的X与Z,其中X可以是不同的实体,例如Customer,Y可以是某些地理位置,Z可以是过滤器。

严格来说,这似乎不是Solr的问题。 第一步,您可能想根据输入的特定生产规则定义上下文无关的语法 (CFG,类型2语法)。 这将为您提供一些可靠的语法规则。 基于此,您可以为自然语言输入创建一个解析器,并将生成的解析树映射到Solr中的关键字搜索。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM