【发布时间】:2018-07-04 10:35:53
【问题描述】:
我不明白为什么查询不起作用。
我需要在两个字段中搜索文档。两个 ID。如果 2 个值匹配,则需要搜索文档。 ID1 和 ID2
但我得到一个空的结果。
query = MultiFieldQueryParser.parse(new String[]{id1, id2},
new String[]{"ID1", "ID2"},
new SimpleAnalyzer());
TopDocs topDocs = searcher.search(query, 1);
Document doc = searcher.doc(topDocs.scoreDocs[0].doc)
索引 100% 有效。由其他请求验证。
感谢您的帮助。
【问题讨论】:
-
那么您是否尝试在两个不同的字段中搜索两个 ID?还是两个不同字段中的单个 id?
-
两个不同字段中的两个不同 ID。我需要匹配“ID1 AND ID2”
-
id1是否应该只匹配id1字段,id2只匹配id2字段?或者他们可以在任何领域匹配吗?
ID1:id1 AND ID2:id2vsID1:(id1 id2) ID2:(id1 id2)vs(ID1:id1 OR ID2:id1) AND (ID1:id2 OR ID2:id2)? -
是的。 “id1 仅在 id1 字段中匹配,id2 仅在 id2 字段中匹配”。感谢您的帮助。