バージョン6.6.0でLuceneとバージョン6.6.0でSolrを使用しています。Apache Solrのワイルドチャード検索が機能しない
クエリに入力するヒットの候補を示す検索ボックスを作成したいとします。
ここに私のアプローチです:
スキーマ(私だけ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'ですか?管理下の分析ページでは、索引付けされた名前とクエリについて何を示していますか? – MatsLindh