创建带有添加单词的自定义solr解析器

时间:2019-04-30 20:17:22

标签: parsing solr

我正在尝试在Apache Solr中创建新的自定义查询解析器。对于用户查询中的每个单词,我想在文本文件中添加1到n个不同的单词。但是问题是我不知道如何从查询中获取单个单词?

一个尝试使用分析器的人,但我得到了与其字段相关的单词。

这是我到目前为止编写的代码:

public class CustomQueryParser extends QParser
{
    private String fieldName;

    public CustomQueryParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req)
    {
        super(qstr, localParams, params, req);

        fieldName = params.get("df");
    }

    @Override
    public Query parse() throws SyntaxError
    {
       Analyzer analyzer = req.getSchema().getQueryAnalyzer();

        try (TokenStream ts = analyzer.tokenStream(fieldName, qstr))
        {
            CharTermAttribute termAttr = ts.getAttribute(CharTermAttribute.class);
            ts.reset();
            while (ts.incrementToken())
            {
                termAttr.toString();
            }
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }

        BooleanQuery.Builder builder = new BooleanQuery.Builder();

        return builder.build();
    }

}

感谢帮助。

0 个答案:

没有答案