以下のようなクエリはどのように実行されますか、どの順序で
このクエリを実行すると、fieldList に記載されているフィールドが返されることを理解しています。私が理解していないのは、指定されたクエリフィールドで「samplestring1」と「samplestring2」がどのように検索されるかです
これをSQLで説明できれば、検索がどのように行われるかを理解できると思います(舞台裏で何が起こっているかを理解するためだけに)
以下はクエリです。それを見て、これが内部でどのように機能するか教えてください。query=samplestring1 AND samplestring2 defType: edismax queryFields: Exact_Field1^1.0 Exact_Field2^0.9 Field1^0.8 Field2^0.7 fieldList: Column1, Column2 resultRows: 10 startRow: 0
PS samplestring1 AND samplestring2 は、クエリ内のいくつかのテスト文字列です
フィールドのスキーマのサンプル
<fieldType name="sampletype1" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="5" maxGramSize="10"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldtype name="sampletype2" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldtype>
<field name="Field1" compressed="true" type="sampletype1" multiValued="false" indexed="true" stored="true" required="true" omitNorms="true"/>
<field name="Field2" compressed="true" type="sampletype1" multiValued="false" indexed="true" stored="true" required="true" omitNorms="true"/>
<field name="Exact_Field1" omitPositions="true" termVectors="false" omitTermFreqAndPositions="true" compressed="true" type="sampletype2" multiValued="false" indexed="true" stored="true" required="true" omitNorms="true"/>
<field name="Exact_Field2" omitPositions="true" termVectors="false" omitTermFreqAndPositions="true" compressed="true" type="sampletype2" multiValued="false" indexed="true" stored="true" required="false" omitNorms="true"/>
<copyField source="Field1" dest="Exact_Field1"/>
<copyField source="Field2" dest="Exact_Field2"/>