Solr将第一个查询的搜索结果用作第二个查询的索引

时间:2020-02-18 09:26:33

标签: solr lucene

我有一个Solr索引,其中包含10个字段。它们在下面给出。

firstname, lastname, middlename, dob, gender, phone, email, address, city, state

索引由大约10 M条记录组成。我正在尝试为某些传入记录找到最佳匹配。假设其中一个这样的传入记录如下所示。

John, Smith, P, 19980923, M, 9896574300, john@jj.com, James Street, Houston, TX

所以下面给出了我的Solr查询。

firstname:John OR lastname:Smith OR middlename:P OR dob:19980923 OR gender:M OR phone:9896574300 OR email:john@jj.com OR address:"James Street" OR city:Houston OR state:TX

问题在于,即使我将结果集限制为仅前100位,查询也需要花费时间。这是因为大多数记录的状态值为TX,而城市也为休斯顿,因此Solr需要花时间对所有这些记录进行排序和排序。

我的目标是减少Solr查询返回的结果数量。所以首先我想使用下面的查询

firstname:John OR lastname:Smith OR middlename:P OR dob:19980923 OR phone:9896574300 OR email:john@jj.com OR address:"James Street"

在上述情况下,它仅返回最少的记录数,最重要的是,我想按以下方式运行实际查询,以便它在顶部返回最相关的记录

firstname:John OR lastname:Smith OR middlename:P OR dob:19980923 OR gender:M OR phone:9896574300 OR email:john@jj.com OR address:"James Street" OR city:Houston OR state:TX

是否可以在单个查询中实现?使用OR条件可能会提取所有记录,因此我想首先根据几个字段的值仅获取最小数量的记录,然后在其上面应用实际查询

0 个答案:

没有答案