我需要搜索lucene索引中的任何術語,以匹配特定的正則表達式。我知道我可以使用TermsComponent
Solr中做到這一點,如果是的ConfigEd這樣的:LUCENE:搜索匹配正則表達式的術語
<searchComponent name="terms" class="solr.TermsComponent"/>
<!-- A request handler for demonstrating the terms component -->
<requestHandler name="/terms" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<bool name="terms">true</bool>
<bool name="distrib">false</bool>
</lst>
<arr name="components">
<str>terms</str>
</arr>
</requestHandler>
例如,我想獲得一個包含「表面缺陷」的任何條款。使用Solr的我能做到這一點:
http://localhost:8983/solr/core1/terms?terms.fl=content&
terms.regex=^(.*?(\bsurface%20defects\b)[^$]*)$&
terms.sort=count&
terms.limit=10000
但我的問題是,我怎麼能使用Lucene的API實現相同的,不SOLR?我看了一下org.apache.solr.handler.component.TermsComponent
班,但對我來說這不是很明顯。