繁体   English   中英

Apache lucene中键/值对的搜索速度

[英]Search speed for Key/Value pair in Apache lucene

我是Apache Lucene的新手。 存储键/值对的最佳方法是什么,这样可以提高搜索速度?

我有2个选择:

doc.add(new Field("name", "Cake", TextField.TYPE_STORED));
doc.add(new Field("value", "Praline Cheesecake", TextField.TYPE_STORED));

然后执行这样的搜索

name:"Cake" AND value:"Praline Cheesecake"

要么

doc.add(new Field("Cake", "Praline Cheesecake", TextField.TYPE_STORED));

然后执行这样的搜索

Cake:"Praline Cheesecake"

我认为第二种选择的搜索速度更快。 我对吗? 您还有其他选择吗?

是列出Solr性能因素的好页面。

我想提出以下建议:

  1. 如果可以避免将字段存储在索引中,则将大大提高性能。
  2. 您不必先说“ type:cake”,再说“ name:cake_name”。 您可以通过“ cake:cake_name”进行搜索。 如果特定文档没有“蛋糕”字段,则它不会显示在结果中。
  3. 在SchemaDefinition中为TextField设置omitNorms = true。

因此,总而言之,我将选择:

doc.add(new Field("Cake", "Praline Cheesecake", TextField.INDEXED));

由于您是从Solr开始的,因此文档是一个很好的起点。

暂无
暂无

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

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