そのため、solr でインデックス化されたデータベースがあり、ContextField/cfq を使用して検索候補 (サジェスター) をフィルタリングしようとしています。私がやろうとしているのは、コンテキスト フィールド (ブール フィールド) が false に設定されている要素、またはフィールドを持たない要素のいずれかに提案クエリをフィルター処理することです。false だけを使用しても機能しません。よくわかりませんsolrconfig.xml内のsuggest.cfqフィールド内でそれを定式化する方法。フィールドはすでにコンテキストフィールドとして宣言されており、実行できないようです (-myfield:[* TO *] AND : ) OR myfield:false . やりたいことをどうするか?
関連する solrconfig.xml のチャンク:
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">composerSuggest</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="indexPath">suggestions/composerSuggest_dict</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">composers_searchable</str>
<str name="weightField">price</str>
<str name="suggestAnalyzerFieldType">suggestTypeLc</str>
<str name="buildOnStartup">true</str>
<str name="buildOnCommit">false</str>
<str name="highlight">false</str>
</lst>
<lst name="suggester">
<str name="name">pieceSuggest</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="indexPath">suggestions/pieceSuggest_dict</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">pieces_searchable</str>
<str name="weightField">price</str>
<str name="contextField">hidden</str>
<str name="suggestAnalyzerFieldType">suggestTypeLc</str>
<str name="buildOnStartup">true</str>
<str name="buildOnCommit">false</str>
<str name="highlight">false</str>
</lst>
<lst name="suggester">
<str name="name">collectionSuggest</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="indexPath">suggestions/collectionSuggest_dict</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">collections_searchable</str>
<str name="weightField">price</str>
<str name="suggestAnalyzerFieldType">suggestTypeLc</str>
<str name="buildOnStartup">true</str>
<str name="buildOnCommit">false</str>
<str name="highlight">false</str>
</lst>
<lst name="suggester">
<str name="name">languageSuggest</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="indexPath">suggestions/languageSuggest_dict</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">languages_searchable</str>
<str name="weightField">price</str>
<str name="suggestAnalyzerFieldType">suggestTypeLc</str>
<str name="buildOnStartup">true</str>
<str name="buildOnCommit">false</str>
<str name="highlight">false</str>
</lst>
<lst name="suggester">
<str name="name">genreSuggest</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="indexPath">suggestions/genreSuggest_dict</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">genres_searchable</str>
<str name="weightField">price</str>
<str name="suggestAnalyzerFieldType">suggestTypeLc</str>
<str name="buildOnStartup">true</str>
<str name="buildOnCommit">false</str>
<str name="highlight">false</str>
</lst>
<lst name="suggester">
<str name="name">locationSuggest</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="indexPath">suggestions/locationSuggest_dict</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">locations_searchable</str>
<str name="weightField">price</str>
<str name="suggestAnalyzerFieldType">suggestTypeLc</str>
<str name="buildOnStartup">true</str>
<str name="buildOnCommit">false</str>
<str name="highlight">false</str>
</lst>
<lst name="suggester">
<str name="name">sourceSuggest</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="indexPath">suggestions/sourceSuggest_dict</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">sources_searchable</str>
<str name="weightField">price</str>
<str name="suggestAnalyzerFieldType">suggestTypeLc</str>
<str name="buildOnStartup">true</str>
<str name="buildOnCommit">false</str>
<str name="highlight">false</str>
</lst>
<lst name="suggester">
<str name="name">instrumentSuggest</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="indexPath">suggestions/instrumentSuggest_dict</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">instruments_voices_searchable</str>
<str name="weightField">price</str>
<str name="suggestAnalyzerFieldType">suggestTypeLc</str>
<str name="buildOnStartup">true</str>
<str name="buildOnCommit">false</str>
<str name="highlight">false</str>
</lst>
<lst name="suggester">
<str name="name">tagSuggest</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="indexPath">suggestions/tagSuggest_dict</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">tags_searchable</str>
<str name="weightField">price</str>
<str name="suggestAnalyzerFieldType">suggestTypeLc</str>
<str name="buildOnStartup">true</str>
<str name="buildOnCommit">false</str>
<str name="highlight">false</str>
</lst>
</searchComponent>
<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy" >
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.count">15</str>
<str name="suggest.cfq">(-hidden:[* TO *] AND *:*) OR hidden:false</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>