java - 如何在 lucene 中组合多个双范围查询?
问题描述
每个文档都有几个 8 维 DoublePoint 字段。
我想一起查询几个 DoublePoint 字段(如 AND 运算符)。
使用newRangeQuery
我不确定如何使用它自己。
首先,我究竟如何使用 newRangeQuery?(我没有找到任何合适的例子)。
其次,我如何组合这样的几个查询?
更新:
8 维 DoublePoint 看起来像:
[1.2, 1.3, 2.3, 3.4, 1.2, 1.3, 2.3, 3.4]
我的意思是如何在搜索者完整代码/使用中使用 newRangeQuery。如何在没有分析器的情况下创建搜索器?还是没有评分功能?(因为分数是针对文本的,不是吗?)
(来自此处的简单完整搜索器示例)
public List<Document> searchFiles(String inField, String queryString) {
Query query = new QueryParser(inField, analyzer)
.parse(queryString);
Directory indexDirectory = FSDirectory
.open(Paths.get(indexPath));
IndexReader indexReader = DirectoryReader
.open(indexDirectory);
IndexSearcher searcher = new IndexSearcher(indexReader);
TopDocs topDocs = searcher.search(query, 10);
return topDocs.scoreDocs.stream()
.map(scoreDoc -> searcher.doc(scoreDoc.doc))
.collect(Collectors.toList());
}
解决方案
推荐阅读
- typescript - 有人能解释一下'[P in keyof O]: O[P];' 方法?
- html - 对 class 或 id 执行操作会影响其他
- python - 如何修复我的 python 项目中的顽固语法错误?
- c++ - C++中虚函数的构造函数内部的动态绑定
- html - 试图让 1 个项目在 flexbox 容器中悬停时展开。相反,容器中的所有项目都会展开
- javascript - 如何用保存“变量连接”来替换 JS 函数?
- python - 如何在Python中的文件的特定位置写入
- java - JLabel 在 GridBagLayout 中自动居中
- android - 在 android 上使用 [ionic Mobile App or browser] 打开链接
- r - 基于其他行上存在的条件数据框变量