Solr 4.3 で本と著者のインデックスを作成するために haystack によって作成されたスキーマがあります。検索を実行すると、ハイフンを含む検索用語を除いてすべて正常に機能します。
バックスラッシュを使用してそれらをエスケープする必要があることはわかっていますが、solr Web インターフェイスを使用しても正しいドキュメントを見つけることができません。
下のスクリーンショットに示されているように、full_name:(ukiyo)を使用して見つけることができる浮世絵という名前の作者がいます。full_name :(ukiyo-e)またはfull_name:(ukiyo-e)を入力すると、何も見つかりません。
編集
スキーマ情報:
<fieldType name="edge_ngram" class="solr.TextField" positionIncrementGap="1">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
</analyzer>
</fieldType>
...
<field name="full_name" type="edge_ngram" indexed="true" stored="true" multiValued="false" />
アナライザーの結果: