Here is my definition for handler:

<requestHandler name="/update/extract" class="solr.extraction.
ExtractingRequestHandler" >
<lst name="defaults">
<str name="fmap.content">text</str>
<str name="lowernames">true</str>
<str name="uprefix">attr_</str>
<str name="captureAttr">true</str>
</lst>
</requestHandler>




2013/4/25 Furkan KAMACI <furkankam...@gmail.com>

> I just want to search on rich documents but I still get same error. I have
> copied example folder into anywhere else at my computer. I have copied dist
> and contrib folders from my build folder into that copy of example folder
> (because solr-cell etc. are within that folders) However I still get same
> error. If any of you could help me you are welcome. Here is my schema:
>
>
> <?xml version="1.0" encoding="UTF-8" ?>
> <!--
> Licensed to the Apache Software Foundation (ASF) under one or more
> contributor license agreements. See the NOTICE file distributed with
> this work for additional information regarding copyright ownership.
> The ASF licenses this file to You under the Apache License, Version 2.0
> (the "License"); you may not use this file except in compliance with
> the License. You may obtain a copy of the License at
>
> http://www.apache.org/licenses/LICENSE-2.0
>
> Unless required by applicable law or agreed to in writing, software
> distributed under the License is distributed on an "AS IS" BASIS,
> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> See the License for the specific language governing permissions and
> limitations under the License.
> -->
> <!--
> Description: This document contains Solr 4.x schema definition to
> be used with Solr integration currently build into Nutch.
> This schema is not minimal, there are some useful field type definitions
> left,
> and the set of fields and their flags (indexed/stored/term vectors) can be
> further optimized depending on needs. See
>
> http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/solr/conf/schema.xml?view=markup
> for more info.
> -->
>
> <schema name="nutch" version="1.5">
>
> <types>
>
> <!-- The StrField type is not analyzed, but indexed/stored verbatim. -->
> <fieldType name="string" class="solr.StrField" sortMissingLast="true"
> omitNorms="true"/>
>
>
> <!--
> Default numeric field types. For faster range queries, consider the
> tint/tfloat/tlong/tdouble types.
> -->
> <fieldType name="int" class="solr.TrieIntField" precisionStep="0"
> omitNorms="true" positionIncrementGap="0"/>
> <fieldType name="float" class="solr.TrieFloatField" precisionStep="0"
> omitNorms="true" positionIncrementGap="0"/>
> <fieldType name="long" class="solr.TrieLongField" precisionStep="0"
> omitNorms="true" positionIncrementGap="0"/>
> <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0"
> omitNorms="true" positionIncrementGap="0"/>
>
> <!--
> Numeric field types that index each value at various levels of precision
> to accelerate range queries when the number of values between the range
> endpoints is large. See the javadoc for NumericRangeQuery for internal
> implementation details.
>
> Smaller precisionStep values (specified in bits) will lead to more tokens
> indexed per value, slightly larger index size, and faster range queries.
> A precisionStep of 0 disables indexing at different precision levels.
> -->
> <fieldType name="tint" class="solr.TrieIntField" precisionStep="8"
> omitNorms="true" positionIncrementGap="0"/>
> <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8"
> omitNorms="true" positionIncrementGap="0"/>
> <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8"
> omitNorms="true" positionIncrementGap="0"/>
> <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8"
> omitNorms="true" positionIncrementGap="0"/>
>
> <!-- The format for this date field is of the form 1995-12-31T23:59:59Z,
> and
> is a more restricted form of the canonical representation of dateTime
> http://www.w3.org/TR/xmlschema-2/#dateTime
> The trailing "Z" designates UTC time and is mandatory.
> Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z
> All other components are mandatory.
>
> Expressions can also be used to denote calculations that should be
> performed relative to "NOW" to determine the value, ie...
>
> NOW/HOUR
> ... Round to the start of the current hour
> NOW-1DAY
> ... Exactly 1 day prior to now
> NOW/DAY+6MONTHS+3DAYS
> ... 6 months and 3 days in the future from the start of
> the current day
>
> Consult the DateField javadocs for more information.
>
> Note: For faster range queries, consider the tdate type
> -->
> <fieldType name="date" class="solr.TrieDateField" omitNorms="true"
> precisionStep="0" positionIncrementGap="0"/>
>
> <!-- A Trie based date field for faster date range queries and date
> faceting. -->
> <fieldType name="tdate" class="solr.TrieDateField" omitNorms="true"
> precisionStep="6" positionIncrementGap="0"/>
>
>
> <!-- solr.TextField allows the specification of custom text analyzers
> specified as a tokenizer and a list of token filters. Different
> analyzers may be specified for indexing and querying.
>
> The optional positionIncrementGap puts space between multiple fields of
> this type on the same document, with the purpose of preventing false phrase
> matching across fields.
>
> For more info on customizing your analyzer chain, please see
> http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters
> -->
>
> <!-- A general text field that has reasonable, generic
> cross-language defaults: it tokenizes with StandardTokenizer,
> removes stop words from case-insensitive "stopwords.txt"
> (empty by default), and down cases. At query time only, it
> also applies synonyms. -->
> <fieldType name="text_general" class="solr.TextField"
> positionIncrementGap="100">
> <analyzer type="index">
> <tokenizer class="solr.StandardTokenizerFactory"/>
> <filter class="solr.StopFilterFactory" ignoreCase="true"
> words="stopwords.txt" enablePositionIncrements="true" />
> <!-- in this example, we will only use synonyms at query time
> <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt"
> ignoreCase="true" expand="false"/>
> -->
> <filter class="solr.LowerCaseFilterFactory"/>
> </analyzer>
> <analyzer type="query">
> <tokenizer class="solr.StandardTokenizerFactory"/>
> <filter class="solr.StopFilterFactory" ignoreCase="true"
> words="stopwords.txt" enablePositionIncrements="true" />
> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
> ignoreCase="true" expand="true"/>
> <filter class="solr.LowerCaseFilterFactory"/>
> </analyzer>
> </fieldType>
>
> <!-- A text field with defaults appropriate for English: it
> tokenizes with StandardTokenizer, removes English stop words
> (stopwords.txt), down cases, protects words from protwords.txt, and
> finally applies Porter's stemming. The query time analyzer
> also applies synonyms from synonyms.txt. -->
> <fieldType name="text_en" class="solr.TextField"
> positionIncrementGap="100">
> <analyzer type="index">
> <tokenizer class="solr.StandardTokenizerFactory"/>
> <!-- in this example, we will only use synonyms at query time
> <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt"
> ignoreCase="true" expand="false"/>
> -->
> <!-- Case insensitive stop word removal.
> add enablePositionIncrements=true in both the index and query
> analyzers to leave a 'gap' for more accurate phrase queries.
> -->
> <filter class="solr.StopFilterFactory"
> ignoreCase="true"
> words="stopwords.txt"
> enablePositionIncrements="true"
> />
> <filter class="solr.LowerCaseFilterFactory"/>
> <filter class="solr.EnglishPossessiveFilterFactory"/>
> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
> <!-- Optionally you may want to use this less aggressive stemmer instead
> of PorterStemFilterFactory:
> <filter class="solr.EnglishMinimalStemFilterFactory"/>
> -->
> <filter class="solr.PorterStemFilterFactory"/>
> </analyzer>
> <analyzer type="query">
> <tokenizer class="solr.StandardTokenizerFactory"/>
> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
> ignoreCase="true" expand="true"/>
> <filter class="solr.StopFilterFactory"
> ignoreCase="true"
> words="stopwords.txt"
> enablePositionIncrements="true"
> />
> <filter class="solr.LowerCaseFilterFactory"/>
> <filter class="solr.EnglishPossessiveFilterFactory"/>
> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
> <!-- Optionally you may want to use this less aggressive stemmer instead
> of PorterStemFilterFactory:
> <filter class="solr.EnglishMinimalStemFilterFactory"/>
> -->
> <filter class="solr.PorterStemFilterFactory"/>
> </analyzer>
> </fieldType>
>
> <!-- A text field with defaults appropriate for English, plus
> aggressive word-splitting and autophrase features enabled.
> This field is just like text_en, except it adds
> WordDelimiterFilter to enable splitting and matching of
> words on case-change, alpha numeric boundaries, and
> non-alphanumeric chars. This means certain compound word
> cases will work, for example query "wi fi" will match
> document "WiFi" or "wi-fi". However, other cases will still
> not match, for example if the query is "wifi" and the
> document is "wi fi" or if the query is "wi-fi" and the
> document is "wifi".
> -->
> <fieldType name="text_en_splitting" class="solr.TextField"
> positionIncrementGap="100" autoGeneratePhraseQueries="true">
> <analyzer type="index">
> <tokenizer class="solr.WhitespaceTokenizerFactory"/>
> <!-- in this example, we will only use synonyms at query time
> <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt"
> ignoreCase="true" expand="false"/>
> -->
> <!-- Case insensitive stop word removal.
> add enablePositionIncrements=true in both the index and query
> analyzers to leave a 'gap' for more accurate phrase queries.
> -->
> <filter class="solr.StopFilterFactory"
> ignoreCase="true"
> words="stopwords.txt"
> enablePositionIncrements="true"
> />
> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1"
> generateNumberParts="1" catenateWords="1" catenateNumbers="1"
> catenateAll="0" splitOnCaseChange="1"/>
> <filter class="solr.LowerCaseFilterFactory"/>
> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
> <filter class="solr.PorterStemFilterFactory"/>
> </analyzer>
> <analyzer type="query">
> <tokenizer class="solr.WhitespaceTokenizerFactory"/>
> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
> ignoreCase="true" expand="true"/>
> <filter class="solr.StopFilterFactory"
> ignoreCase="true"
> words="stopwords.txt"
> enablePositionIncrements="true"
> />
> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1"
> generateNumberParts="1" catenateWords="0" catenateNumbers="0"
> catenateAll="0" splitOnCaseChange="1"/>
> <filter class="solr.LowerCaseFilterFactory"/>
> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
> <filter class="solr.PorterStemFilterFactory"/>
> </analyzer>
> </fieldType>
>
> <!-- Less flexible matching, but less false matches. Probably not ideal
> for product names,
> but may be good for SKUs. Can insert dashes in the wrong place and still
> match. -->
> <fieldType name="text_en_splitting_tight" class="solr.TextField"
> positionIncrementGap="100" autoGeneratePhraseQueries="true">
> <analyzer>
> <tokenizer class="solr.WhitespaceTokenizerFactory"/>
> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
> ignoreCase="true" expand="false"/>
> <filter class="solr.StopFilterFactory" ignoreCase="true"
> words="stopwords.txt"/>
> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0"
> generateNumberParts="0" catenateWords="1" catenateNumbers="1"
> catenateAll="0"/>
> <filter class="solr.LowerCaseFilterFactory"/>
> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
> <filter class="solr.EnglishMinimalStemFilterFactory"/>
> <!-- this filter can remove any duplicate tokens that appear at the same
> position - sometimes
> possible with WordDelimiterFilter in conjuncton with stemming. -->
> <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
> </analyzer>
> </fieldType>
>
> <!-- Just like text_general except it reverses the characters of
> each token, to enable more efficient leading wildcard queries. -->
> <fieldType name="text_general_rev" class="solr.TextField"
> positionIncrementGap="100">
> <analyzer type="index">
> <tokenizer class="solr.StandardTokenizerFactory"/>
> <filter class="solr.StopFilterFactory" ignoreCase="true"
> words="stopwords.txt" enablePositionIncrements="true" />
> <filter class="solr.LowerCaseFilterFactory"/>
> <filter class="solr.ReversedWildcardFilterFactory" withOriginal="true"
> maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/>
> </analyzer>
> <analyzer type="query">
> <tokenizer class="solr.StandardTokenizerFactory"/>
> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
> ignoreCase="true" expand="true"/>
> <filter class="solr.StopFilterFactory" ignoreCase="true"
> words="stopwords.txt" enablePositionIncrements="true" />
> <filter class="solr.LowerCaseFilterFactory"/>
> </analyzer>
> </fieldType>
>
> <fieldtype name="phonetic" stored="false" indexed="true"
> class="solr.TextField" >
> <analyzer>
> <tokenizer class="solr.StandardTokenizerFactory"/>
> <filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/>
> </analyzer>
> </fieldtype>
>
> <fieldtype name="payloads" stored="false" indexed="true"
> class="solr.TextField" >
> <analyzer>
> <tokenizer class="solr.WhitespaceTokenizerFactory"/>
> <!--
> The DelimitedPayloadTokenFilter can put payloads on tokens... for example,
> a token of "foo|1.4" would be indexed as "foo" with a payload of 1.4f
> Attributes of the DelimitedPayloadTokenFilterFactory :
> "delimiter" - a one character delimiter. Default is | (pipe)
> "encoder" - how to encode the following value into a playload
> float -> org.apache.lucene.analysis.payloads.FloatEncoder,
> integer -> o.a.l.a.p.IntegerEncoder
> identity -> o.a.l.a.p.IdentityEncoder
> Fully Qualified class name implementing PayloadEncoder, Encoder must have
> a no arg constructor.
> -->
> <filter class="solr.DelimitedPayloadTokenFilterFactory" encoder="float"/>
> </analyzer>
> </fieldtype>
>
> <!-- lowercases the entire field value, keeping it as a single token. -->
> <fieldType name="lowercase" class="solr.TextField"
> positionIncrementGap="100">
> <analyzer>
> <tokenizer class="solr.KeywordTokenizerFactory"/>
> <filter class="solr.LowerCaseFilterFactory" />
> </analyzer>
> </fieldType>
>
> <fieldType name="url" class="solr.TextField" positionIncrementGap="100">
> <analyzer>
> <tokenizer class="solr.StandardTokenizerFactory"/>
> <filter class="solr.LowerCaseFilterFactory"/>
> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1"
> generateNumberParts="1"/>
> </analyzer>
> </fieldType>
>
>
> <fieldType name="text_path" class="solr.TextField"
> positionIncrementGap="100">
> <analyzer>
> <tokenizer class="solr.PathHierarchyTokenizerFactory"/>
> </analyzer>
> </fieldType>
>
> <!-- since fields of this type are by default not stored or indexed,
> any data added to them will be ignored outright. -->
> <fieldtype name="ignored" stored="false" indexed="false"
> multiValued="true" class="solr.StrField" />
>
> </types>
>
> <fields>
> <field name="id" type="string" indexed="true" stored="true"
> required="true" multiValued="false" />
> <field name="text" type="text_general" indexed="true" stored="true"/>
> <dynamicField name="attr_*" type="text_general" indexed="true"
> stored="true" multiValued="true"/>
> <!-- Common metadata fields, named specifically to match up with
> SolrCell metadata when parsing rich documents such as Word, PDF.
> Some fields are multiValued only because Tika currently may return
> multiple values for them. Some metadata is parsed from the documents,
> but there are some which come from the client context:
> "content_type": From the HTTP headers of incoming stream
> "resourcename": From SolrCell request param resource.name
> -->
> <field name="title" type="text_general" indexed="true" stored="true"
> multiValued="true"/>
> <field name="subject" type="text_general" indexed="true" stored="true"/>
> <field name="description" type="text_general" indexed="true"
> stored="true"/>
> <field name="comments" type="text_general" indexed="true" stored="true"/>
> <field name="author" type="text_general" indexed="true" stored="true"/>
> <field name="keywords" type="text_general" indexed="true" stored="true"/>
> <field name="category" type="text_general" indexed="true" stored="true"/>
> <field name="resourcename" type="text_general" indexed="true"
> stored="true"/>
> <field name="url" type="text_general" indexed="true" stored="true"/>
> <field name="content_type" type="string" indexed="true" stored="true"
> multiValued="true"/>
> <field name="last_modified" type="date" indexed="true" stored="true"/>
> <field name="links" type="string" indexed="true" stored="true"
> multiValued="true"/>
>
> <!-- Main body of document extracted by SolrCell.
> NOTE: This field is not indexed by default, since it is also copied to
> "text"
> using copyField below. This is to save space. Use this field for returning
> and
> highlighting document content. Use the "text" field to search the content.
> -->
> <field name="content" type="text_general" indexed="false" stored="true"
> multiValued="true"/>
>
> <field name="_version_" type="long" indexed="true" stored="true"/>
>
> <dynamicField name="*" type="ignored" multiValued="true"/>
> </fields>
>
> <uniqueKey>id</uniqueKey>
> <defaultSearchField>text</defaultSearchField>
> <solrQueryParser defaultOperator="OR"/>
>
> <!-- Text fields from SolrCell to search by default in our catch-all field
> -->
> <copyField source="title" dest="text"/>
> <copyField source="author" dest="text"/>
> <copyField source="description" dest="text"/>
> <copyField source="keywords" dest="text"/>
> <copyField source="content" dest="text"/>
> <copyField source="content_type" dest="text"/>
> <copyField source="resourcename" dest="text"/>
> <copyField source="url" dest="text"/>
>
> <!-- Create a string version of author for faceting -->
> <copyField source="author" dest="author_s"/>
>
> </schema>
>
>
>
>
> 2013/4/25 Erik Hatcher <erik.hatc...@gmail.com>
>
>> Did you restart after adding those fields and types?
>>
>> On Apr 24, 2013, at 16:59, Furkan KAMACI <furkankam...@gmail.com> wrote:
>>
>> > I have added that fields:
>> >
>> > <field name="text" type="text_general" indexed="true" stored="true"/>
>> > <dynamicField name="attr_*" type="text_general" indexed="true"
>> > stored="true" multiValued="true"/>
>> > <dynamicField name="ignored_*" type="ignored"/>
>> >
>> > and I have that definition:
>> >
>> > <fieldtype name="ignored" stored="false" indexed="false"
>> multiValued="true"
>> > class="solr.StrField" />
>> >
>> > here is my error:
>> >
>> > <?xml version="1.0" encoding="UTF-8"?>
>> > <response>
>> > <lst name="responseHeader">
>> > <int name="status">400</int>
>> > <int name="QTime">4154</int>
>> > </lst>
>> > <lst name="error">
>> > <str name="msg">ERROR: [doc=1] unknown field 'ignored_meta'</str>
>> > <int name="code">400</int>
>> > </lst>
>> > </response>
>> >
>> > What should I do more?
>> >
>> > 2013/4/24 Erik Hatcher <erik.hatc...@gmail.com>
>> >
>> >> Also, at Solr startup time it logs what it loads from those <lib>
>> >> elements, so you can see whether it is loading the files you intend to
>> or
>> >> not.
>> >>
>> >>        Erik
>> >>
>> >> On Apr 24, 2013, at 10:05 , Alexandre Rafalovitch wrote:
>> >>
>> >>> Have you tried using absolute path to the relevant urls? That will
>> >>> cleanly split the problem into 'still not working' and 'wrong relative
>> >>> path'.
>> >>>
>> >>> Regards,
>> >>>  Alex.
>> >>> On Wed, Apr 24, 2013 at 9:02 AM, Furkan KAMACI <
>> furkankam...@gmail.com>
>> >> wrote:
>> >>>> <lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
>> >>>> <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />
>> >>>
>> >>>
>> >>>
>> >>> Personal blog: http://blog.outerthoughts.com/
>> >>> LinkedIn: http://www.linkedin.com/in/alexandrerafalovitch
>> >>> - Time is the quality of nature that keeps events from happening all
>> >>> at once. Lately, it doesn't seem to be working.  (Anonymous  - via GTD
>> >>> book)
>> >>
>> >>
>>
>
>

Reply via email to