簡體   English   中英

Lucene中多值字段的性能問題

[英]Performance issue with multivalued field in Lucene

我們正在使用Lucene 4.7構建和查詢相當大的數據集(110多個百萬文檔)。

我們用於刻面的document字段之一定義如下:

<field name="topic_paths"
       type="string"
       indexed="false"
       stored="false"
       docValues="true"
       multiValued="true"
       termVectors="false"
       termPositions="false"
       termOffsets="false"/>

每當我們在查詢中包含此字段時,它們就會變得非常緩慢:搜索中包含的每個topic_path值大約需要7秒,因此四個topic_path值大約需要30秒(在我們的示例中為典型值)。

不使用該字段的查詢非常快(15毫秒)。

我們應該期望Lucene具有用於多面值的多值字段的性能嗎? 我們的字段定義有什么錯誤或不理想嗎? 我們可以使用一些技巧來加快搜索速度嗎?

細節:

  • 硬件:Xen VM,2.5 GHz時的8核Xeon CPU E5-2670 v2、64 GB RAM
  • 操作系統:Windows Server 2012 Standard
  • JVM:以-Xmx8000m開頭(Lucene使用了其中的45%)
  • Lucene查詢是單線程的

閱讀本文, http://wiki.apache.org/solr/SchemaXml#Fields

您需要為您的字段“索引”以將其包括在搜索/方面中,否則Solr將毫無例外地跳過此字段

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM