public class EDisMaxExQParserPlugin extends QParserPlugin
ExtendedDismaxQParserPluginの拡張クラスで、クエリ文字列中にユーザ辞書(dic)に記載したキーワードがあるか調べ、ある場合は
その単語をfieldsで指定したフィールドにあてるdismaxクエリを作成し、本体のedismaxのBooleanClauseに付与する。
remove(デフォルトはfalse)にtrueが指定されたときは、本体のクエリから当該辞書中のキーワード文字列を取り除く(半角スペースで置き換える)。
<queryParser name="edismaxEx" class="com.rondhuit.solr.search.EDisMaxExQParserPlugin">
<lst name="person">
<str name="dic">people.txt</str>
<bool name="remove">true</bool>
<str name="fields">speaker^3 title</str>
</lst>
<lst name="location">
<str name="dic">locations.txt</str>
<str name="fields">statement^2 title</str>
</lst>
</queryParser>| 修飾子とタイプ | クラスと説明 |
|---|---|
static class |
EDisMaxExQParserPlugin.DicFields |
SolrInfoBean.Category, SolrInfoBean.Group| 修飾子とタイプ | フィールドと説明 |
|---|---|
static boolean |
IGNORE_CASE |
static java.lang.String |
NAME |
DEFAULT_QTYPE, standardPlugins| コンストラクタと説明 |
|---|
EDisMaxExQParserPlugin() |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
QParser |
createParser(java.lang.String qstr,
org.apache.solr.common.params.SolrParams localParams,
org.apache.solr.common.params.SolrParams params,
SolrQueryRequest req) |
java.util.List<EDisMaxExQParserPlugin.DicFields> |
getDicFields() |
void |
init(org.apache.solr.common.util.NamedList args) |
static java.util.Map<java.lang.String,java.lang.Long> |
merge(java.util.Map<java.lang.String,java.lang.Long> map,
java.util.Set<DictionaryUtil.DictionaryEntry> s2) |
getCategory, getDescription, getMetricNames, getNameclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetMetricRegistry, getMetricsSnapshot, registerMetricNamepublic static final java.lang.String NAME
public static final boolean IGNORE_CASE
public java.util.List<EDisMaxExQParserPlugin.DicFields> getDicFields()
public void init(org.apache.solr.common.util.NamedList args)
init インタフェース内 NamedListInitializedPlugininit クラス内 QParserPluginpublic static java.util.Map<java.lang.String,java.lang.Long> merge(java.util.Map<java.lang.String,java.lang.Long> map,
java.util.Set<DictionaryUtil.DictionaryEntry> s2)
public QParser createParser(java.lang.String qstr, org.apache.solr.common.params.SolrParams localParams, org.apache.solr.common.params.SolrParams params, SolrQueryRequest req)
createParser クラス内 QParserPluginCopyright © 2009-2018 RONDHUIT Co.,Ltd. All Rights Reserved.