现在,假设我要搜索长度低于3000(结束 - 开始)的所有SOLR文档。 使用SOLR查询语法以某种方式可行吗?如果不是,你是否熟悉一些能够做到这一点的开源?
我知道这不是SOLR“角色”(只有索引......)但我仍然想看看是否可能?
{
"id": "XXX",
"Timing": [
"Start: 1000 | End: 2000",
"Start: 3000 | End: 5000",
}
{
"id": "YYY",
"Timing": [
"Start: 9000 | End: 10200",
"Start: 13000 | End: 14000",
}
答案 0 :(得分:0)
你如何定义长度?字符还是单词?你可以做到这两个,但我认为单词有点棘手。要做字符,只需使用https://wiki.apache.org/solr/UpdateRequestProcessor并填写文档的预定义长度字段。您可以对单词执行相同操作,但是您必须分析文档,获取单词计数,然后将其填入,这可能会在时间上花费很多,特别是如果您有大量更新流量。
编辑:要在solr中使用范围查询,只需查看lucene的查询语法:http://lucene.apache.org/core/4_10_2/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package_description,然后将查询字符串传递给qParser,或直接进入solr服务器:length: [*至3000]将为您提供长度低于3000的所有文档,例如