像下面这样的查询将如何执行,按什么顺序执行
我知道执行此查询时,将返回 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"/>