2012-04-22 6 views
0

これは私が私のschema.xmlに持っているものです:私はSolrの中で検索した場合、ドキュメントはSolrのにうまく押し出されたSolrが自分のドキュメントのインデックスを作成しないのはなぜですか?

<add> 
    <doc> 
     <field name="id">abc123</field>  
     <field name="about">I am somebody</field> 
     <field name="music">pop</field> 
     <field name="movies">titanic</field> 
     <field name="occupation">web dev</field> 
    </doc> 
</add> 

<fields> 
    <field name="id" type="string" indexed="true" stored="true" required="true" /> 
    <field name="about" type="string" indexed="true" stored="true" /> 
    <field name="music" type="string" indexed="true" stored="true" /> 
    <field name="movies" type="string" indexed="true" stored="true" /> 
    <field name="occupation" type="string" indexed="true" stored="true" /> 
    <field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/> 
</fields> 

<uniqueKey>id</uniqueKey> 

をそして、これは私が投稿ドキュメントです

<?xml version="1.0" ?> 
<response> 
    <lst name="responseHeader"> 
    <int name="status">0</int> 
    <int name="QTime">1</int> 
    <lst name="params"> 
     <str name="indent">on</str> 
     <str name="start">0</str> 
     <str name="q">*:*</str> 
     <str name="version">2.2</str> 
     <str name="rows">10</str> 
    </lst> 
    </lst> 
    <result name="response" numFound="1" start="0"> 
    <doc> 
     <str name="about">I am somebody</str> 
     <str name="id">abc123</str> 
     <str name="movies">titanic</str> 
     <str name="music">pop</str> 
     <str name="occupation">web dev</str> 
    </doc> 
    </result> 
</response> 

まだ私は、このような「タイタニック」や「ウェブ」がないよう、ドキュメントに明らかにされたキーワードを使って検索する場合:それはそうのように私のdocを示し*:*を使用して管理結果は次のとおりです。

<?xml version="1.0" ?> 
<response> 
    <lst name="responseHeader"> 
    <int name="status">0</int> 
    <int name="QTime">1</int> 
    <lst name="params"> 
     <str name="indent">on</str> 
     <str name="start">0</str> 
     <str name="q">titanic</str> 
     <str name="version">2.2</str> 
     <str name="rows">10</str> 
    </lst> 
    </lst> 
    <result name="response" numFound="0" start="0"/> 
</response> 

解決方法

+1

おそらく明白な質問ですが、コミットしましたか? – jmend

+1

\ *:\ *が表示されている場合はコミットされています。 – bmargulies

+0

ああ申し訳ありませんが、その部分を逃した。 – jmend

答えて

2

フィールド名(q = movies:titanic)を指定するか、schema.xmlのデフォルトフィールドを設定する必要があるかのように見えます。

+0

ありがとうございました。 – TK123

+0

btw映画だけでなく、すべてのフィールドでキーワードを検索したい場合はどうすればいいですか?クエリはどのように表示されるべきですか?何かのような: "について、音楽、映画、職業:タイタニック"? – TK123

+1

dismaxパーサについて読んでください。 – bmargulies

1

フィールド名を指定すると検索がうまくいくと思われます。フィールド名を指定せずに検索できるようにするには、schema.xmlに<defaultSearchField>を指定する必要があります。

+0

これは、スキーマでデフォルトで定義できることを知っておいてください。 – TK123

関連する問題