Solr在运行查询之前修改搜索项

时间:2015-07-24 12:24:40

标签: solr lucene lemmatization

与此插件一样,在索引时执行(实现条件copyField) https://wiki.apache.org/solr/UpdateRequestProcessor 我想在查询时做同样的事情。

我使用这个插件对文本进行一次词典化,然后将词形文本复制到不同的领域。

我想在查询时做同样的事情,但我找不到(或者不容易找到)。

所以我想要的是如果用户搜索X,请在插件上执行此操作: y = process_text(y) 和supossing我们有标题和正文进行搜索: 标题:y body:y 或许我们需要另一个领域的原始文本 title:y body:y otherfield:x 是否有任何修改查询字词的示例? 谢谢大家

我会更好地解释一下。

我有这些领域: text_en,text_en2de,text_de,text_de2en

我为英语和德语文本做了一个lemmatizer。引理器需要时间来对文本进行词形推理。

在查询时间,我使用我说的插件,我只将文本lemmatize一次。然后将词形文本复制到那些字段中。

但是如果我必须搜索text_en,text_de2en ......我必须将每个字段>引理一次并花费时间。

这就是为什么我想在查询时创建一个插件来获取q字段,将文本解释,然后将这个被文本化的文本重定向到我想要的字段。

例如,如果我制作一个自定义的SearchHandler(我想我必须这样做,但我没有找到任何例子)我会配置它

<requestHandler name="/select_en" class="CustomSearchHandler">
<lst name="defaults">
<int name="langs">de</int>

然后,如果我进行搜索,例如 q =&#34;正在运行&#34; 该插件将获取此文本并在

上进行搜索
text_en=run&text_de2en=run

0 个答案:

没有答案