1

我想访问自定义 Solr 过滤器类中的索引标记。该类是schema.xml带有<filter />标签的常规过滤器。这可能吗?

一点背景知识:当查询进来时,我想用其他标记替换一些查询标记,但前提是它们在该字段的索引中。例如,想象一下,我将用索引中以查询标记开头的所有标记替换查询标记,有点像通配符搜索。当查询“text:te”时,实际查询可能是“text:test | text:tent | text:temple”,如果“test”、“tent”和“temple”在字段“text”的索引中。

我查看了 API ( TokenFilter, TokenStream, AttributeSource) 但找不到任何访问索引的方法。我什至找不到有关当前正在处理哪个字段的信息,但我知道这在概念上可能没有意义。

那么,有没有办法访问索引?我猜我最终需要的是一个org.apache.lucene.index.Terms.

4

1 回答 1

0

您所描述的是 aPrefixQuery已经通过该方法所做的(通常是MultiTermQuerys )。rewrite是不是有什么理由不充分。

您是否有某些原因不想使用 Lucene 提供的查询,例如PrefixQueryor WildcardQuery

于 2013-09-29T22:09:37.223 回答