Я пытаюсь создать новый пользовательский анализатор запросов в Apache Solr.К каждому слову из пользовательского запроса я хочу добавить от 1 до n разных слов из текстового файла.Но проблема в том, что я не знаю, как получить отдельные слова из запроса?
A пытался использовать анализатор, но потом я получаю слова, связанные с их полями.
Это код Iсделано до сих пор:
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();
}
}
Спасибо за помощь.