0
我有一個字段,說F,我通過使用KeywordTokenizer,小寫過濾器和TrimFilter保持未分析..Lucene TermQuery vs PhraseQuery:此過濾器查詢包含術語查詢或詞組查詢嗎?
當我爲F啓用過濾器查詢時,過濾器查詢被解析爲TermQuery而不是PhraseQuery ..
這裏是我的篩選查詢 -
filter=F:"A B C"
這裏是我所嘗試的代碼 -
String fqs [] = msParams.getParams("fq");//msParams is ModifiableSolrParams
if(fqs != null) {
for(int i=0; i<fqs.length; i++) {
try {
String field = null;
QParser fqp = QParser.getParser(fqs[i], null, req);//req is request
if(fqp.getQuery() instanceof TermQuery) {
TermQuery fq = (TermQuery) fqp.getQuery();
field = fq.getTerm().field();
我的問題是 - 爲什麼像F:"A B C"
這樣的查詢被解析爲solr作爲TermQuery而不是PhraseQuery?
這看起來像Solr的問題不是一個Lucene一個更....莫非你共享查詢解析器,因爲它是在confix.xml中配置的? – 2014-09-25 12:46:09