我在版本6.6.0中使用Solr,版本6.6.0中使用Lucene。Apache Solr wildchard搜索不起作用
我想创建一个搜索框,显示在查询中键入命中的建议。
这里是我的方法:
架构(我只有一个managed-schema
文件):
<copyField source="someField_a" dest="someField_a_wildcard"/>
<field name="someField_at_wildcard" type="wildcard_type" indexed="true" stored="true" />
<fieldType name="wildcard_type" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="25"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
</analyzer>
</fieldType>
someField_a
是一个dynamic field
:
<dynamicField name="*_a" type="text_general" indexed="true" stored="true"/>
当我输入的输入域的东西,我确实得到了结果,但不是我想要的结果:
假设someField_a
是“ABC DE FG.pdf”
当我输入“ABC”时,我得到了一个结果,但是当我走的时候,结果变得混乱起来,我没有得到我想要的文档。
如何正确配置?
你一直沿着什么走向错误? – Mysterion
@Mysterion一件事,它只匹配完整的条件......它匹配STRING,但不是S或STR或任何东西。当我输入“SO”时,我会得到以“SO”开头的结果,但是当我继续时,例如当我输入“SO 102”时,我用“SO-102”结果结果,但不结合“SO 102”。 – user3629892
..你究竟在哪个领域搜索? 'somefield_a'或'someField_at_wildcard'? admin下的分析页面对索引名称和查询有什么影响? – MatsLindh