[kateglo] r486 committed - Refactor Kateglo to work with new third party library structure

4 views
Skip to first unread message

kat...@googlecode.com

unread,
Jul 21, 2012, 7:20:36 AM7/21/12
to kat...@googlegroups.com
Revision: 486
Author: arthur.purnama
Date: Sat Jul 21 04:14:51 2012
Log: Refactor Kateglo to work with new third party library structure
http://code.google.com/p/kateglo/source/detail?r=486

Added:
/branches/kateglox/vagrant/puppet/modules/kateglo/files
/branches/kateglox/vagrant/puppet/modules/kateglo/files/data-config.xml
/branches/kateglox/vagrant/puppet/modules/kateglo/files/elevate.xml
/branches/kateglox/vagrant/puppet/modules/kateglo/files/kateglox.sql
/branches/kateglox/vagrant/puppet/modules/kateglo/files/protwords.txt
/branches/kateglox/vagrant/puppet/modules/kateglo/files/schema.xml
/branches/kateglox/vagrant/puppet/modules/kateglo/files/solrconfig.xml
/branches/kateglox/vagrant/puppet/modules/kateglo/files/spellings.txt
/branches/kateglox/vagrant/puppet/modules/kateglo/files/stopwords.txt
/branches/kateglox/vagrant/puppet/modules/kateglo/files/synonyms.txt
/branches/kateglox/vagrant/puppet/modules/mysql/files
/branches/kateglox/vagrant/puppet/modules/mysql/files/my.cnf
Deleted:
/branches/kateglox/build/solr
/branches/kateglox/library/Stubbles
Modified:
/branches/kateglox/.idea/workspace.xml
/branches/kateglox/application/configs/Binder.php
/branches/kateglox/application/configs/application.ini
/branches/kateglox/application/providers/Config.php
/branches/kateglox/application/providers/Connection.php
/branches/kateglox/application/providers/EntityManager.php
/branches/kateglox/application/providers/Log.php
/branches/kateglox/application/providers/Solr.php
/branches/kateglox/application/utilities/Injector.php
/branches/kateglox/application/utilities/REST.php
/branches/kateglox/application/utilities/interfaces/REST.php
/branches/kateglox/library/Zend/Controller/Dispatcher/Stubbles.php
/branches/kateglox/public/index.php
/branches/kateglox/vagrant/puppet/modules/bootstrap/manifests/init.pp
/branches/kateglox/vagrant/puppet/modules/kateglo/manifests/init.pp
/branches/kateglox/vagrant/puppet/modules/mysql/manifests/init.pp
/branches/kateglox/vagrant/puppet/modules/php/manifests/init.pp
/branches/kateglox/vagrant/puppet/modules/solr/manifests/init.pp

=======================================
--- /dev/null
+++ /branches/kateglox/vagrant/puppet/modules/kateglo/files/data-config.xml
Sat Jul 21 04:14:51 2012
@@ -0,0 +1,160 @@
+<dataConfig>
+ <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1/kateglox" user="root"
+ password=""/>
+ <document name="entries">
+ <entity name="entry" query="select * from entry">
+
+ <field column="entry_id" name="id"/>
+ <field column="entry_name" name="entri"/>
+
+ <entity name="meaning" query="select * from meaning where
meaning_entry_id='${entry.entry_id}'">
+
+ <entity name="antonym" query="select * from antonym where
antonym_meaning_id='${meaning.meaning_id}'">
+ <entity name="antonym_meaning"
+ query="select * from meaning where
meaning_id='${antonym.antonym_antonym_id}'">
+ <entity name="antonym_meaning_entry"
+ query="select * from entry where
entry_id='${antonym_meaning.meaning_entry_id}'">
+ <field column="entry_name" name="antonim"/>
+ </entity>
+ </entity>
+ </entity>
+
+ <entity name="definition"
+ query="select * from definition where
definition_meaning_id='${meaning.meaning_id}'">
+ <field column="definition_text" name="definisi"/>
+
+ <entity name="definition_class"
+ query="select * from rel_definition_class
where rel_definition_id='${definition.definition_id}'">
+ <entity name="class"
+ query="select * from class where
class_id='${definition_class.rel_class_id}'">
+ <field column="class_name" name="kelas"/>
+
+ <entity name="rel_class_category"
+ query="select * from
rel_class_category where rel_class_id='${class.class_id}'">
+ <entity name="class_category"
+ query="select * from
class_category where
class_category_id='${rel_class_category.rel_class_category_id}'">
+ <field column="class_category_name"
name="kategoriKelas"/>
+ </entity>
+ </entity>
+ </entity>
+ </entity>
+
+ <entity name="definition_discipline"
+ query="select * from rel_definition_discipline
where rel_definition_id='${definition.definition_id}'">
+ <entity name="definition" query="select * from
discipline where
discipline_id='${definition_discipline.rel_discipline_id}'">
+ <field column="discipline_name"
name="disiplin" />
+ </entity>
+ </entity>
+
+ <entity name="sample"
+ query="select * from sample where
sample_definition_id='${definition.definition_id}'">
+ <field column="sample_text" name="contoh"/>
+ </entity>
+
+ </entity>
+
+ <entity name="misspelled"
+ query="select * from misspelled where
misspelled_meaning_id='${meaning.meaning_id}'">
+ <entity name="misspelled_meaning"
+ query="select * from meaning where
meaning_id='${misspelled.misspelled_misspelled_id}'">
+ <entity name="misspelled_meaning_entry"
+ query="select * from entry where
entry_id='${misspelled_meaning.meaning_entry_id}'">
+ <field column="entry_name" name="salahEja"/>
+ </entity>
+ </entity>
+ </entity>
+
+ <entity name="relation"
+ query="select * from relation where
relation_meaning_id='${meaning.meaning_id}'">
+ <entity name="relation_meaning"
+ query="select * from meaning where
meaning_id='${relation.relation_relation_id}'">
+ <entity name="relation_meaning_entry"
+ query="select * from entry where
entry_id='${relation_meaning.meaning_entry_id}'">
+ <field column="entry_name" name="relasi"/>
+ </entity>
+ </entity>
+ </entity>
+
+ <entity name="synonym" query="select * from synonym where
synonym_meaning_id='${meaning.meaning_id}'">
+ <entity name="synonym_meaning"
+ query="select * from meaning where
meaning_id='${synonym.synonym_synonym_id}'">
+ <entity name="synonym_meaning_entry"
+ query="select * from entry where
entry_id='${synonym_meaning.meaning_entry_id}'">
+ <field column="entry_name" name="sinonim"/>
+ </entity>
+ </entity>
+ </entity>
+
+ <entity name="spelled"
+ query="select * from misspelled where
misspelled_misspelled_id='${meaning.meaning_id}'">
+ <entity name="spelled_meaning"
+ query="select * from meaning where
meaning_id='${spelled.misspelled_meaning_id}'">
+ <entity name="spelled_meaning_entry"
+ query="select * from entry where
entry_id='${spelled_meaning.meaning_entry_id}'">
+ <field column="entry_name" name="ejaan"/>
+ </entity>
+ </entity>
+ </entity>
+
+ <entity name="syllabel"
+ query="select * from syllabel where
syllabel_meaning_id='${meaning.meaning_id}'">
+ <field column="syllabel_text" name="silabel"/>
+ </entity>
+
+ <entity name="meaning_type"
+ query="select * from rel_meaning_type where
rel_meaning_id='${meaning.meaning_id}'">
+ <entity name="type" query="select * from type where
type_id='${meaning_type.rel_type_id}'">
+ <field column="type_name" name="bentuk"/>
+
+ <entity name="rel_type_category"
+ query="select * from rel_type_category
where rel_type_id='${type.type_id}'">
+ <entity name="type_category"
+ query="select * from type_category
where type_category_id='${rel_type_category.rel_type_category_id}'">
+ <field column="type_category_name"
name="kategoriBentuk"/>
+ </entity>
+ </entity>
+ </entity>
+ </entity>
+
+ </entity>
+
+ <entity name="source" query="select * from source where
source_entry_id='${entry.entry_id}'">
+ <field column="source_text_clean" name="sumber"/>
+
+ <entity name="source_category"
+ query="select * from source_category where
source_category_id = '${source.source_category_id}'">
+ <field column="source_category_name"
name="kategoriSumber"/>
+ </entity>
+ </entity>
+
+ <entity name="equivalents" query="select * from equivalent
where equivalent_entry_id='${entry.entry_id}'">
+ <entity name="foreign"
+ query="select * from `foreign` where foreign_id
= '${equivalents.equivalent_foreign_id}'">
+ <field column="foreign_name" name="asing"/>
+
+ <entity name="language"
+ query="select * from language where
language_id='${foreign.foreign_language_id}'">
+ <field column="language_name" name="bahasa"/>
+
+ <entity name="rel_equivalent_discipline"
+ query="select * from
rel_equivalent_discipline where
rel_equivalent_id='${equivalents.equivalent_id}'">
+ <entity name="equivalent_discipline"
+ query="select * from discipline where
discipline_id='${rel_equivalent_discipline.rel_discipline_id}'">
+ <field column="discipline_name"
name="disiplinPadanan"/>
+ </entity>
+
+ </entity>
+
+ </entity>
+
+
+ </entity>
+ <entity name="equivalent"
+ query="select
CONCAT('{&quot;foreign&quot;:&quot;',foreign_name,'&quot;,&quot;language&quot;:&quot;',language_name,'&quot;,&quot;discipline&quot;:[',disciplines,']}')
as equivalents from (select foreign_name, language_name, CASE WHEN
GROUP_CONCAT(discipline_name) is null THEN '' ELSE CONCAT('&quot;',
GROUP_CONCAT(discipline_name SEPARATOR '&quot;,&quot;'), '&quot;') END as
disciplines from equivalent LEFT JOIN `foreign` ON foreign_id =
equivalent_foreign_id LEFT JOIN language ON language_id =
foreign_language_id LEFT JOIN rel_equivalent_discipline ON
rel_equivalent_id = equivalent_id LEFT JOIN discipline ON discipline_id =
rel_discipline_id where equivalent_id = '${equivalents.equivalent_id}'
GROUP BY equivalent_id) temp">
+ <field column="equivalents" name="padanan"/>
+ </entity>
+ </entity>
+
+ </entity>
+ </document>
+</dataConfig>
=======================================
--- /dev/null
+++ /branches/kateglox/vagrant/puppet/modules/kateglo/files/elevate.xml Sat
Jul 21 04:14:51 2012
@@ -0,0 +1,25 @@
+<?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.
+-->
+
+<!-- If this file is found in the config directory, it will only be
+ loaded once at startup. If it is found in Solr's data
+ directory, it will be re-loaded every commit.
+-->
+
+<elevate>
+</elevate>
=======================================
--- /dev/null
+++ /branches/kateglox/vagrant/puppet/modules/kateglo/files/kateglox.sql
Sat Jul 21 04:14:51 2012
File is too large to display a diff.
=======================================
--- /dev/null
+++ /branches/kateglox/vagrant/puppet/modules/kateglo/files/protwords.txt
Sat Jul 21 04:14:51 2012
@@ -0,0 +1,21 @@
+# 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.
+
+#-----------------------------------------------------------------------
+# Use a protected word file to protect against the stemmer reducing two
+# unrelated words to the same base word.
+
+# Some non-words that normally won't be encountered,
+# just to test that they won't be stemmed.
+dontstems
+zwhacky
+
=======================================
--- /dev/null
+++ /branches/kateglox/vagrant/puppet/modules/kateglo/files/schema.xml Sat
Jul 21 04:14:51 2012
@@ -0,0 +1,1025 @@
+<?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.
+-->
+
+<!--
+ This is the Solr schema file. This file should be named "schema.xml" and
+ should be in the conf directory under the solr home
+ (i.e. ./solr/conf/schema.xml by default)
+ or located where the classloader for the Solr webapp can find it.
+
+ This example schema is the recommended starting point for users.
+ It should be kept correct and concise, usable out-of-the-box.
+
+ For more information, on how to customize this file, please see
+ http://wiki.apache.org/solr/SchemaXml
+
+ PERFORMANCE NOTE: this schema includes many optional features and should
not
+ be used for benchmarking. To improve performance one could
+ - set stored="false" for all fields possible (esp large fields) when you
+ only need to search on the field but don't need to return the original
+ value.
+ - set indexed="false" if you don't need to search on the field, but only
+ return the field as a result of searching on other indexed fields.
+ - remove all unneeded copyField statements
+ - for best index size and searching performance, set "index" to false
+ for all general text fields, use copyField to copy them to the
+ catchall "text" field, and use that for searching.
+ - For maximum indexing performance, use the StreamingUpdateSolrServer
+ java client.
+ - Remember to run the JVM in server mode, and use a higher logging level
+ that avoids logging every request
+-->
+
+<schema name="example" version="1.5">
+ <!-- attribute "name" is the name of this schema and is only used for
display purposes.
+ Applications should change this to reflect the nature of the search
collection.
+ version="x.y" is Solr's version number for the schema syntax and
semantics. It should
+ not normally be changed by applications.
+ 1.0: multiValued attribute did not exist, all fields are multiValued
by nature
+ 1.1: multiValued attribute introduced, false by default
+ 1.2: omitTermFreqAndPositions attribute introduced, true by default
except for text fields.
+ 1.3: removed optional field compress feature
+ 1.4: default auto-phrase (QueryParser feature) to off
+ 1.5: omitNorms defaults to true for primitive field types (int,
float, boolean, string...)
+ -->
+
+ <types>
+ <!-- field type definitions. The "name" attribute is
+ just a label to be used by field definitions. The "class"
+ attribute and any other attributes determine the real
+ behavior of the fieldType.
+ Class names starting with "solr" refer to java classes in the
+ org.apache.solr.analysis package.
+ -->
+
+ <!-- The StrField type is not analyzed, but indexed/stored
verbatim. -->
+ <fieldType name="string" class="solr.StrField"
sortMissingLast="true" omitNorms="true"/>
+
+ <!-- boolean type: "true" or "false" -->
+ <fieldType name="boolean" class="solr.BoolField"
sortMissingLast="true" omitNorms="true"/>
+ <!--Binary data type. The data should be sent/retrieved in as
Base64 encoded Strings -->
+ <fieldtype name="binary" class="solr.BinaryField"/>
+
+ <!-- The optional sortMissingLast and sortMissingFirst attributes
are
+ currently supported on types that are sorted internally as
strings
+ and on numeric types.
+ This includes "string","boolean", and, as of 3.5 (and 4.x),
+ int, float, long, date, double, including the "Trie"
variants.
+ - If sortMissingLast="true", then a sort on this field will
cause documents
+ without the field to come after documents with the field,
+ regardless of the requested sort order (asc or desc).
+ - If sortMissingFirst="true", then a sort on this field will
cause documents
+ without the field to come before documents with the field,
+ regardless of the requested sort order.
+ - If sortMissingLast="false" and sortMissingFirst="false" (the
default),
+ then default lucene sorting will be used which places docs
without the
+ field first in an ascending sort and last in a descending
sort.
+ -->
+
+ <!--
+ Default numeric field types. For faster range queries, consider
the tint/tfloat/tlong/tdouble types.
+ -->
+ <fieldType name="int" class="solr.TrieIntField" precisionStep="0"
positionIncrementGap="0"/>
+ <fieldType name="float" class="solr.TrieFloatField"
precisionStep="0" positionIncrementGap="0"/>
+ <fieldType name="long" class="solr.TrieLongField"
precisionStep="0" positionIncrementGap="0"/>
+ <fieldType name="double" class="solr.TrieDoubleField"
precisionStep="0" 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"
positionIncrementGap="0"/>
+ <fieldType name="tfloat" class="solr.TrieFloatField"
precisionStep="8" positionIncrementGap="0"/>
+ <fieldType name="tlong" class="solr.TrieLongField"
precisionStep="8" positionIncrementGap="0"/>
+ <fieldType name="tdouble" class="solr.TrieDoubleField"
precisionStep="8" 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"/>
+
+
+ <!--
+ Note:
+ These should only be used for compatibility with existing
indexes (created with older Solr versions)
+ or if "sortMissingFirst" or "sortMissingLast" functionality is
needed. Use Trie based fields instead.
+
+ Plain numeric field types that store and index the text
+ value verbatim (and hence don't support range queries, since the
+ lexicographic ordering isn't equal to the numeric ordering)
+ -->
+ <fieldType name="pint" class="solr.IntField" omitNorms="true"/>
+ <fieldType name="plong" class="solr.LongField" omitNorms="true"/>
+ <fieldType name="pfloat" class="solr.FloatField" omitNorms="true"/>
+ <fieldType name="pdouble" class="solr.DoubleField"
omitNorms="true"/>
+ <fieldType name="pdate" class="solr.DateField"
sortMissingLast="true" omitNorms="true"/>
+
+
+ <!--
+ Note:
+ These should only be used for compatibility with existing
indexes (created with older Solr versions).
+ Use Trie based fields instead. As of Solr 3.5 and 4.x, Trie
based fields support sortMissingFirst/Last
+
+ Numeric field types that manipulate the value into
+ a string value that isn't human-readable in its internal form,
+ but with a lexicographic ordering the same as the numeric
ordering,
+ so that range queries work correctly.
+ -->
+ <fieldType name="sint" class="solr.SortableIntField"
sortMissingLast="true" omitNorms="true"/>
+ <fieldType name="slong" class="solr.SortableLongField"
sortMissingLast="true" omitNorms="true"/>
+ <fieldType name="sfloat" class="solr.SortableFloatField"
sortMissingLast="true" omitNorms="true"/>
+ <fieldType name="sdouble" class="solr.SortableDoubleField"
sortMissingLast="true" omitNorms="true"/>
+
+
+ <!-- The "RandomSortField" is not used to store or search any
+ data. You can declare fields of this type it in your schema
+ to generate pseudo-random orderings of your docs for sorting
+ purposes. The ordering is generated based on the field name
+ and the version of the index, As long as the index version
+ remains unchanged, and the same field name is reused,
+ the ordering of the docs will be consistent.
+ If you want different psuedo-random orderings of documents,
+ for the same version of the index, use a dynamicField and
+ change the name
+ -->
+ <fieldType name="random" class="solr.RandomSortField"
indexed="true"/>
+
+ <!-- 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
+ -->
+
+ <!-- One can also specify an existing Analyzer class that has a
+ default constructor via the class attribute on the analyzer
element
+ <fieldType name="text_greek" class="solr.TextField">
+ <analyzer class="org.apache.lucene.analysis.el.GreekAnalyzer"/>
+ </fieldType>
+ -->
+
+ <!-- A text field that only splits on whitespace for exact
matching of words -->
+ <fieldType name="text_ws" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- 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
+ (lang/stopwords_en.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="lang/stopwords_en.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="lang/stopwords_en.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="lang/stopwords_en.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="lang/stopwords_en.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="lang/stopwords_en.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>
+
+ <!-- charFilter + WhitespaceTokenizer -->
+ <!--
+ <fieldType name="text_char_norm" class="solr.TextField"
positionIncrementGap="100" >
+ <analyzer>
+ <charFilter class="solr.MappingCharFilterFactory"
mapping="mapping-ISOLatin1Accent.txt"/>
+ <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ </analyzer>
+ </fieldType>
+ -->
+
+ <!-- This is an example of using the KeywordTokenizer along
+ With various TokenFilterFactories to produce a sortable field
+ that does not include some properties of the source text
+ -->
+ <fieldType name="alphaOnlySort" class="solr.TextField"
sortMissingLast="true" omitNorms="true">
+ <analyzer>
+ <!-- KeywordTokenizer does no actual tokenizing, so the
entire
+ input string is preserved as a single token
+ -->
+ <tokenizer class="solr.KeywordTokenizerFactory"/>
+ <!-- The LowerCase TokenFilter does what you expect, which
can be
+ when you want your sorting to be case insensitive
+ -->
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <!-- The TrimFilter removes any leading or trailing
whitespace -->
+ <filter class="solr.TrimFilterFactory"/>
+ <!-- The PatternReplaceFilter gives you the flexibility to
use
+ Java Regular expression to replace any sequence of
characters
+ matching a pattern with an arbitrary replacement string,
+ which may include back references to portions of the
original
+ string matched by the pattern.
+
+ See the Java Regular Expression documentation for more
+ information on pattern and replacement string syntax.
+
+
http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/package-summary.html
+ -->
+ <filter class="solr.PatternReplaceFilterFactory"
+ pattern="([^a-z])" replacement="" replace="all"
+ />
+ </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="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" />
+
+ <!-- This point type indexes the coordinates as separate fields
(subFields)
+ If subFieldType is defined, it references a type, and a dynamic
field
+ definition is created matching *___<typename>. Alternately, if
+ subFieldSuffix is defined, that is used to create the subFields.
+ Example: if subFieldType="double", then the coordinates would be
+ indexed in fields myloc_0___double,myloc_1___double.
+ Example: if subFieldSuffix="_d" then the coordinates would be
indexed
+ in fields myloc_0_d,myloc_1_d
+ The subFields are an implementation detail of the fieldType, and
end
+ users normally should not need to know about them.
+ -->
+ <fieldType name="point" class="solr.PointType" dimension="2"
subFieldSuffix="_d"/>
+
+ <!-- A specialized field for geospatial search. If indexed, this
fieldType must not be multivalued. -->
+ <fieldType name="location" class="solr.LatLonType"
subFieldSuffix="_coordinate"/>
+
+ <!-- A general unstemmed text field - good if one does not know
the language of the field -->
+ <fieldType name="textgen" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer type="index">
+ <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ <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="0"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ </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="0"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ </analyzer>
+ </fieldType>
+
+ <!--
+ A Geohash is a compact representation of a latitude longitude
pair in a single field.
+ See http://wiki.apache.org/solr/SpatialSearch
+ -->
+ <fieldtype name="geohash" class="solr.GeoHashField"/>
+ <!-- Money/currency field type. See
http://wiki.apache.org/solr/MoneyFieldType
+ Parameters:
+ defaultCurrency: Specifies the default currency if none
specified. Defaults to "USD"
+ precisionStep: Specifies the precisionStep for the
TrieLong field used for the amount
+ providerClass: Lets you plug in other exchange provider
backend:
+ solr.FileExchangeRateProvider is the
default and takes one parameter:
+ currencyConfig: name of an xml file
holding exhange rates
+ -->
+ <fieldType name="currency" class="solr.CurrencyField"
precisionStep="8" defaultCurrency="USD" currencyConfig="currency.xml" />
+
+ <!-- some examples for different languages (generally ordered by
ISO code) -->
+
+ <!-- Arabic -->
+ <fieldType name="text_ar" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <!-- for any non-arabic -->
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_ar.txt" enablePositionIncrements="true"/>
+ <!-- normalizes ﻯ to ﻱ, etc -->
+ <filter class="solr.ArabicNormalizationFilterFactory"/>
+ <filter class="solr.ArabicStemFilterFactory"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Bulgarian -->
+ <fieldType name="text_bg" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_bg.txt" enablePositionIncrements="true"/>
+ <filter class="solr.BulgarianStemFilterFactory"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Catalan -->
+ <fieldType name="text_ca" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <!-- removes l', etc -->
+ <filter class="solr.ElisionFilterFactory"
ignoreCase="true" articles="lang/contractions_ca.txt"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_ca.txt" enablePositionIncrements="true"/>
+ <filter class="solr.SnowballPorterFilterFactory"
language="Catalan"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- CJK bigram (see text_ja for a Japanese configuration using
morphological analysis) -->
+ <fieldType name="text_cjk" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <!-- normalize width before bigram, as e.g. half-width
dakuten combine -->
+ <filter class="solr.CJKWidthFilterFactory"/>
+ <!-- for any non-CJK -->
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.CJKBigramFilterFactory"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Czech -->
+ <fieldType name="text_cz" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_cz.txt" enablePositionIncrements="true"/>
+ <filter class="solr.CzechStemFilterFactory"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Danish -->
+ <fieldType name="text_da" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_da.txt" format="snowball"
enablePositionIncrements="true"/>
+ <filter class="solr.SnowballPorterFilterFactory"
language="Danish"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- German -->
+ <fieldType name="text_de" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_de.txt" format="snowball"
enablePositionIncrements="true"/>
+ <filter class="solr.GermanNormalizationFilterFactory"/>
+ <filter class="solr.GermanLightStemFilterFactory"/>
+ <!-- less aggressive: <filter
class="solr.GermanMinimalStemFilterFactory"/> -->
+ <!-- more aggressive: <filter
class="solr.SnowballPorterFilterFactory" language="German2"/> -->
+ </analyzer>
+ </fieldType>
+
+ <!-- Greek -->
+ <fieldType name="text_el" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <!-- greek specific lowercase for sigma -->
+ <filter class="solr.GreekLowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="false"
words="lang/stopwords_el.txt" enablePositionIncrements="true"/>
+ <filter class="solr.GreekStemFilterFactory"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Spanish -->
+ <fieldType name="text_es" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_es.txt" format="snowball"
enablePositionIncrements="true"/>
+ <filter class="solr.SpanishLightStemFilterFactory"/>
+ <!-- more aggressive: <filter
class="solr.SnowballPorterFilterFactory" language="Spanish"/> -->
+ </analyzer>
+ </fieldType>
+
+ <!-- Basque -->
+ <fieldType name="text_eu" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_eu.txt" enablePositionIncrements="true"/>
+ <filter class="solr.SnowballPorterFilterFactory"
language="Basque"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Persian -->
+ <fieldType name="text_fa" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <!-- for ZWNJ -->
+ <charFilter class="solr.PersianCharFilterFactory"/>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.ArabicNormalizationFilterFactory"/>
+ <filter class="solr.PersianNormalizationFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_fa.txt" enablePositionIncrements="true"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Finnish -->
+ <fieldType name="text_fi" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_fi.txt" format="snowball"
enablePositionIncrements="true"/>
+ <filter class="solr.SnowballPorterFilterFactory"
language="Finnish"/>
+ <!-- less aggressive: <filter
class="solr.FinnishLightStemFilterFactory"/> -->
+ </analyzer>
+ </fieldType>
+
+ <!-- French -->
+ <fieldType name="text_fr" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <!-- removes l', etc -->
+ <filter class="solr.ElisionFilterFactory"
ignoreCase="true" articles="lang/contractions_fr.txt"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_fr.txt" format="snowball"
enablePositionIncrements="true"/>
+ <filter class="solr.FrenchLightStemFilterFactory"/>
+ <!-- less aggressive: <filter
class="solr.FrenchMinimalStemFilterFactory"/> -->
+ <!-- more aggressive: <filter
class="solr.SnowballPorterFilterFactory" language="French"/> -->
+ </analyzer>
+ </fieldType>
+
+ <!-- Irish -->
+ <fieldType name="text_ga" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <!-- removes d', etc -->
+ <filter class="solr.ElisionFilterFactory"
ignoreCase="true" articles="lang/contractions_ga.txt"/>
+ <!-- removes n-, etc. position increments is intentionally
false! -->
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/hyphenations_ga.txt" enablePositionIncrements="false"/>
+ <filter class="solr.IrishLowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_ga.txt" enablePositionIncrements="true"/>
+ <filter class="solr.SnowballPorterFilterFactory"
language="Irish"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Galician -->
+ <fieldType name="text_gl" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_gl.txt" enablePositionIncrements="true"/>
+ <filter class="solr.GalicianStemFilterFactory"/>
+ <!-- less aggressive: <filter
class="solr.GalicianMinimalStemFilterFactory"/> -->
+ </analyzer>
+ </fieldType>
+
+ <!-- Hindi -->
+ <fieldType name="text_hi" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <!-- normalizes unicode representation -->
+ <filter class="solr.IndicNormalizationFilterFactory"/>
+ <!-- normalizes variation in spelling -->
+ <filter class="solr.HindiNormalizationFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_hi.txt" enablePositionIncrements="true"/>
+ <filter class="solr.HindiStemFilterFactory"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Hungarian -->
+ <fieldType name="text_hu" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_hu.txt" format="snowball"
enablePositionIncrements="true"/>
+ <filter class="solr.SnowballPorterFilterFactory"
language="Hungarian"/>
+ <!-- less aggressive: <filter
class="solr.HungarianLightStemFilterFactory"/> -->
+ </analyzer>
+ </fieldType>
+
+ <!-- Armenian -->
+ <fieldType name="text_hy" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_hy.txt" enablePositionIncrements="true"/>
+ <filter class="solr.SnowballPorterFilterFactory"
language="Armenian"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Indonesian -->
+ <fieldType name="text_id" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_id.txt" enablePositionIncrements="true"/>
+ <!-- for a less aggressive approach (only inflectional
suffixes), set stemDerivational to false -->
+ <filter class="solr.IndonesianStemFilterFactory"
stemDerivational="true"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Italian -->
+ <fieldType name="text_it" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <!-- removes l', etc -->
+ <filter class="solr.ElisionFilterFactory"
ignoreCase="true" articles="lang/contractions_it.txt"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_it.txt" format="snowball"
enablePositionIncrements="true"/>
+ <filter class="solr.ItalianLightStemFilterFactory"/>
+ <!-- more aggressive: <filter
class="solr.SnowballPorterFilterFactory" language="Italian"/> -->
+ </analyzer>
+ </fieldType>
+
+ <!-- Japanese using morphological analysis (see text_cjk for a
configuration using bigramming)
+
+ NOTE: If you want to optimize search for precision, use
default operator AND in your query
+ parser config with <solrQueryParser defaultOperator="AND"/>
further down in this file. Use
+ OR if you would like to optimize for recall (default).
+ -->
+ <fieldType name="text_ja" class="solr.TextField"
positionIncrementGap="100" autoGeneratePhraseQueries="false">
+ <analyzer>
+ <!-- Kuromoji Japanese morphological analyzer/tokenizer
(JapaneseTokenizer)
+
+ Kuromoji has a search mode (default) that does
segmentation useful for search. A heuristic
+ is used to segment compounds into its parts and the
compound itself is kept as synonym.
+
+ Valid values for attribute mode are:
+ normal: regular segmentation
+ search: segmentation useful for search with synonyms
compounds (default)
+ extended: same as search mode, but unigrams unknown
words (experimental)
+
+ For some applications it might be good to use search
mode for indexing and normal mode for
+ queries to reduce recall and prevent parts of compounds
from being matched and highlighted.
+ Use <analyzer type="index"> and <analyzer type="query">
for this and mode normal in query.
+
+ Kuromoji also has a convenient user dictionary feature
that allows overriding the statistical
+ model with your own entries for segmentation,
part-of-speech tags and readings without a need
+ to specify weights. Notice that user dictionaries have
not been subject to extensive testing.
+
+ User dictionary attributes are:
+ userDictionary: user dictionary filename
+ userDictionaryEncoding: user dictionary encoding
(default is UTF-8)
+
+ See lang/userdict_ja.txt for a sample user dictionary
file.
+
+ See http://wiki.apache.org/solr/JapaneseLanguageSupport
for more on Japanese language support.
+ -->
+ <tokenizer class="solr.JapaneseTokenizerFactory"
mode="search"/>
+ <!--<tokenizer class="solr.JapaneseTokenizerFactory"
mode="search" userDictionary="lang/userdict_ja.txt"/>-->
+ <!-- Reduces inflected verbs and adjectives to their
base/dictionary forms (辞書形) -->
+ <filter class="solr.JapaneseBaseFormFilterFactory"/>
+ <!-- Removes tokens with certain part-of-speech tags -->
+ <filter class="solr.JapanesePartOfSpeechStopFilterFactory"
tags="lang/stoptags_ja.txt" enablePositionIncrements="true"/>
+ <!-- Normalizes full-width romaji to half-width and
half-width kana to full-width (Unicode NFKC subset) -->
+ <filter class="solr.CJKWidthFilterFactory"/>
+ <!-- Removes common tokens typically not useful for
search, but have a negative effect on ranking -->
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_ja.txt" enablePositionIncrements="true" />
+ <!-- Normalizes common katakana spelling variations by
removing any last long sound character (U+30FC) -->
+ <filter class="solr.JapaneseKatakanaStemFilterFactory"
minimumLength="4"/>
+ <!-- Lower-cases romaji characters -->
+ <filter class="solr.LowerCaseFilterFactory"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Latvian -->
+ <fieldType name="text_lv" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_lv.txt" enablePositionIncrements="true"/>
+ <filter class="solr.LatvianStemFilterFactory"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Dutch -->
+ <fieldType name="text_nl" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_nl.txt" format="snowball"
enablePositionIncrements="true"/>
+ <filter class="solr.StemmerOverrideFilterFactory"
dictionary="lang/stemdict_nl.txt" ignoreCase="false"/>
+ <filter class="solr.SnowballPorterFilterFactory"
language="Dutch"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Norwegian -->
+ <fieldType name="text_no" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_no.txt" format="snowball"
enablePositionIncrements="true"/>
+ <filter class="solr.SnowballPorterFilterFactory"
language="Norwegian"/>
+ <!-- less aggressive: <filter
class="solr.NorwegianLightStemFilterFactory"/> -->
+ <!-- singular/plural: <filter
class="solr.NorwegianMinimalStemFilterFactory"/> -->
+ </analyzer>
+ </fieldType>
+
+ <!-- Portuguese -->
+ <fieldType name="text_pt" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_pt.txt" format="snowball"
enablePositionIncrements="true"/>
+ <filter class="solr.PortugueseLightStemFilterFactory"/>
+ <!-- less aggressive: <filter
class="solr.PortugueseMinimalStemFilterFactory"/> -->
+ <!-- more aggressive: <filter
class="solr.SnowballPorterFilterFactory" language="Portuguese"/> -->
+ <!-- most aggressive: <filter
class="solr.PortugueseStemFilterFactory"/> -->
+ </analyzer>
+ </fieldType>
+
+ <!-- Romanian -->
+ <fieldType name="text_ro" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_ro.txt" enablePositionIncrements="true"/>
+ <filter class="solr.SnowballPorterFilterFactory"
language="Romanian"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Russian -->
+ <fieldType name="text_ru" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_ru.txt" format="snowball"
enablePositionIncrements="true"/>
+ <filter class="solr.SnowballPorterFilterFactory"
language="Russian"/>
+ <!-- less aggressive: <filter
class="solr.RussianLightStemFilterFactory"/> -->
+ </analyzer>
+ </fieldType>
+
+ <!-- Swedish -->
+ <fieldType name="text_sv" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_sv.txt" format="snowball"
enablePositionIncrements="true"/>
+ <filter class="solr.SnowballPorterFilterFactory"
language="Swedish"/>
+ <!-- less aggressive: <filter
class="solr.SwedishLightStemFilterFactory"/> -->
+ </analyzer>
+ </fieldType>
+
+ <!-- Thai -->
+ <fieldType name="text_th" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.ThaiWordFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="true"
words="lang/stopwords_th.txt" enablePositionIncrements="true"/>
+ </analyzer>
+ </fieldType>
+
+ <!-- Turkish -->
+ <fieldType name="text_tr" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.TurkishLowerCaseFilterFactory"/>
+ <filter class="solr.StopFilterFactory" ignoreCase="false"
words="lang/stopwords_tr.txt" enablePositionIncrements="true"/>
+ <filter class="solr.SnowballPorterFilterFactory"
language="Turkish"/>
+ </analyzer>
+ </fieldType>
+ <fieldtype name="textSpell" class="solr.TextField"
positionIncrementGap="100">
+ <analyzer>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
+ <filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+ </analyzer>
+ </fieldtype>
+ </types>
+
+
+ <fields>
+ <field name="id" type="string" indexed="true" stored="true"
required="true"/>
+ <field name="entri" type="textgen" indexed="true" stored="true"
required="true" multiValued="false"
+ termVectors="true" termPositions="true" termOffsets="true"/>
+ <field name="antonim" type="textgen" indexed="true" stored="true"
multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="disiplin" type="textgen" indexed="true" stored="true"
multiValued="true"/>
+ <field name="contoh" type="textgen" indexed="true" stored="true"
multiValued="true"/>
+ <field name="definisi" type="textgen" indexed="true" stored="true"
multiValued="true"/>
+ <field name="kelas" type="textgen" indexed="true" stored="true"
multiValued="true"/>
+ <field name="kategoriKelas" type="textgen" indexed="true"
stored="true" multiValued="true"/>
+ <field name="salahEja" type="textgen" indexed="true" stored="true"
multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="relasi" type="textgen" indexed="true" stored="true"
multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="sinonim" type="textgen" indexed="true" stored="true"
multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="ejaan" type="textgen" indexed="true" stored="true"
multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="silabel" type="textgen" indexed="true" stored="true"
multiValued="true"/>
+ <field name="bentuk" type="textgen" indexed="true" stored="true"
multiValued="true"/>
+ <field name="kategoriBentuk" type="textgen" indexed="true"
stored="true" multiValued="true"/>
+ <field name="sumber" type="textgen" indexed="true" stored="true"
multiValued="true"/>
+ <field name="kategoriSumber" type="textgen" indexed="true"
stored="true" multiValued="true"/>
+ <field name="bahasa" type="textgen" indexed="true" stored="true"
multiValued="true"/>
+ <field name="disiplinPadanan" type="textgen" indexed="true"
stored="true" multiValued="true"/>
+ <field name="asing" type="textgen" indexed="true" stored="true"
multiValued="true"/>
+ <field name="padanan" type="string" indexed="false" stored="true"
multiValued="true"/>
+
+ <field name="spell" type="textSpell" indexed="true" stored="true"
multiValued="true"/>
+
+ <field name="konten" type="textgen" indexed="true" stored="false"
multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="entriAsing" type="textgen" indexed="true"
stored="false" multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+
+ <field name="entriPersis" type="string" indexed="true"
stored="false" multiValued="false" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="antonimPersis" type="string" indexed="true"
stored="false" multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="disiplinPersis" type="string" indexed="true"
stored="false" multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="kelasPersis" type="string" indexed="true"
stored="false" multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="kategoriKelasPersis" type="string" indexed="true"
stored="false" multiValued="true"
+ termVectors="true" termPositions="true" termOffsets="true"/>
+ <field name="salahEjaPersis" type="string" indexed="true"
stored="false" multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="relasiPersis" type="string" indexed="true"
stored="false" multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="sinonimPersis" type="string" indexed="true"
stored="false" multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="ejaanPersis" type="string" indexed="true"
stored="false" multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="bentukPersis" type="string" indexed="true"
stored="false" multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="kategoriBentukPersis" type="string" indexed="true"
stored="false" multiValued="true"
+ termVectors="true" termPositions="true" termOffsets="true"/>
+ <field name="kategoriSumberPersis" type="string" indexed="true"
stored="false" multiValued="true"
+ termVectors="true" termPositions="true" termOffsets="true"/>
+ <field name="bahasaPersis" type="string" indexed="true"
stored="false" multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+ <field name="disiplinPadananPersis" type="string" indexed="true"
stored="false" multiValued="true"
+ termVectors="true" termPositions="true" termOffsets="true"/>
+ <field name="asingPersis" type="string" indexed="true"
stored="false" multiValued="true" termVectors="true"
+ termPositions="true" termOffsets="true"/>
+
+ <dynamicField name="random_*" type="random"/>
+
+ </fields>
+
+
+ <uniqueKey>id</uniqueKey>
+
+
+ <defaultSearchField>entri</defaultSearchField>
+
+
+ <solrQueryParser defaultOperator="OR"/>
+
+
+ <copyField source="entri" dest="konten"/>
+ <copyField source="antonim" dest="konten"/>
+ <copyField source="disiplin" dest="konten"/>
+ <copyField source="contoh" dest="konten"/>
+ <copyField source="definisi" dest="konten"/>
+ <copyField source="kelas" dest="konten"/>
+ <copyField source="kategoriKelas" dest="konten"/>
+ <copyField source="salahEja" dest="konten"/>
+ <copyField source="relasi" dest="konten"/>
+ <copyField source="sinonim" dest="konten"/>
+ <copyField source="ejaan" dest="konten"/>
+ <copyField source="silabel" dest="konten"/>
+ <copyField source="bentuk" dest="konten"/>
+ <copyField source="kategoriBentuk" dest="konten"/>
+ <copyField source="sumber" dest="konten"/>
+ <copyField source="kategoriSumber" dest="konten"/>
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /branches/kateglox/vagrant/puppet/modules/kateglo/files/solrconfig.xml
Sat Jul 21 04:14:51 2012
@@ -0,0 +1,1649 @@
+<?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.
+-->
+
+<!--
+ For more details about configurations options that may appear in
+ this file, see http://wiki.apache.org/solr/SolrConfigXml.
+-->
+<config>
+ <!-- In all configuration below, a prefix of "solr." for class names
+ is an alias that causes solr to search appropriate packages,
+ including org.apache.solr.(search|update|request|core|analysis)
+
+ You may also specify a fully qualified Java classname if you
+ have your own custom plugins.
+ -->
+
+ <!-- Set this to 'false' if you want solr to continue working after
+ it has encountered an severe configuration error. In a
+ production environment, you may want solr to keep working even
+ if one handler is mis-configured.
+
+ You may also set this to false using by setting the system
+ property:
+
+ -Dsolr.abortOnConfigurationError=false
+ -->
+
<abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
+
+ <!-- Controls what version of Lucene various components of Solr
+ adhere to. Generally, you want to use the latest version to
+ get all bug fixes and improvements. It is highly recommended
+ that you fully re-index after changing this setting as it can
+ affect both how text is indexed and queried.
+ -->
+ <luceneMatchVersion>LUCENE_36</luceneMatchVersion>
+
+ <!-- lib directives can be used to instruct Solr to load an Jars
+ identified and use them to resolve any "plugins" specified in
+ your solrconfig.xml or schema.xml (ie: Analyzers, Request
+ Handlers, etc...).
+
+ All directories and paths are resolved relative to the
+ instanceDir.
+
+ If a "./lib" directory exists in your instanceDir, all files
+ found in it are included as if you had used the following
+ syntax...
+
+ <lib dir="./lib" />
+ -->
+
+ <!-- A 'dir' option by itself adds any files found in the directory
+ to the classpath, this is useful for including all jars in a
+ directory.
+ -->
+ <!--
+ <lib dir="../add-everything-found-in-this-dir-to-the-classpath" />
+ -->
+
+ <!-- When a 'regex' is specified in addition to a 'dir', only the
+ files in that directory which completely match the regex
+ (anchored on both ends) will be included.
+ -->
+ <lib dir="/home/vagrant/solr/dist/" regex="apache-solr-cell-\d.*\.jar" />
+ <lib dir="/home/vagrant/solr/contrib/extraction/lib" regex=".*\.jar" />
+
+ <lib dir="/home/vagrant/solr/dist/"
regex="apache-solr-clustering-\d.*\.jar" />
+ <lib dir="/home/vagrant/solr/contrib/clustering/lib/" regex=".*\.jar"
/>
+
+ <lib dir="/home/vagrant/solr/dist/"
regex="apache-solr-dataimporthandler-\d.*\.jar" />
+ <lib dir="/home/vagrant/solr/contrib/dataimporthandler/lib/"
regex=".*\.jar" />
+
+ <lib dir="/home/vagrant/solr/dist/"
regex="apache-solr-langid-\d.*\.jar" />
+ <lib dir="/home/vagrant/solr/contrib/langid/lib/" regex=".*\.jar" />
+
+ <lib dir="/home/vagrant/solr/dist/"
regex="apache-solr-velocity-\d.*\.jar" />
+ <lib dir="/home/vagrant/solr/contrib/velocity/lib" regex=".*\.jar" />
+ <lib dir="/home/vagrant/solr/dist/"
regex="mysql-connector-java-\d.*\-bin.jar" />
+
+
+ <!-- If a 'dir' option (with or without a regex) is used and nothing
+ is found that matches, it will be ignored
+ -->
+ <lib dir="/total/crap/dir/ignored" />
+
+ <!-- an exact 'path' can be used instead of a 'dir' to specify a
+ specific file. This will cause a serious error to be logged if
+ it can't be loaded.
+ -->
+ <!--
+ <lib path="../a-jar-that-does-not-exist.jar" />
+ -->
+ <lib dir="../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />
+ <!-- Data Directory
+
+ Used to specify an alternate directory to hold all index data
+ other than the default ./data under the Solr home. If
+ replication is in use, this should match the replication
+ configuration.
+ -->
+ <dataDir>${solr.data.dir:}</dataDir>
+
+
+ <!-- The DirectoryFactory to use for indexes.
+
+ solr.StandardDirectoryFactory, the default, is filesystem
+ based and tries to pick the best implementation for the current
+ JVM and platform. One can force a particular implementation
+ via solr.MMapDirectoryFactory, solr.NIOFSDirectoryFactory, or
+ solr.SimpleFSDirectoryFactory.
+
+ solr.RAMDirectoryFactory is memory based, not
+ persistent, and doesn't work with replication.
+ -->
+ <directoryFactory name="DirectoryFactory"
+
class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>
+
+ <!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Index Config - These settings control low-level behavior of indexing
+ Most example settings here show the default value, but are commented
+ out, to more easily see where customizations have been made.
+
+ Note: As of Solr 3.6, the <indexDefaults> and <mainIndex> sections
+ are deprecated and not shown in the example config. They will
+ still work, but will go away for good in 4.0
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
+ <indexConfig>
+ <!-- maxFieldLength specifies max number of *tokens* indexed per
field. Default: 10000 -->
+ <!-- <maxFieldLength>10000</maxFieldLength> -->
+ <!-- Maximum time to wait for a write lock (ms) for an
IndexWriter. Default: 1000 -->
+ <!-- <writeLockTimeout>1000</writeLockTimeout> -->
+
+ <!-- Expert: Enabling compound file will use less files for the
index,
+using fewer file descriptors on the expense of performance decrease.
+Default in Lucene is "true". Default in Solr is "false" (since 3.6) -->
+ <!-- <useCompoundFile>false</useCompoundFile> -->
+
+ <!-- ramBufferSizeMB sets the amount of RAM that may be used by
Lucene
+indexing for buffering added documents and deletions before they are
+flushed to the Directory.
+maxBufferedDocs sets a limit on the number of documents buffered
+before flushing.
+If both ramBufferSizeMB and maxBufferedDocs is set, then
+Lucene will flush based on whichever limit is hit first. -->
+ <!-- <ramBufferSizeMB>32</ramBufferSizeMB> -->
+ <!-- <maxBufferedDocs>1000</maxBufferedDocs> -->
+
+ <!-- Expert: Merge Policy
+ The Merge Policy in Lucene controls how merging of segments is
done.
+ The default since Solr/Lucene 3.3 is TieredMergePolicy.
+ The default since Lucene 2.3 was the LogByteSizeMergePolicy,
+ Even older versions of Lucene used LogDocMergePolicy.
+ -->
+ <!--
+ <mergePolicy class="org.apache.lucene.index.TieredMergePolicy">
+ <int name="maxMergeAtOnce">10</int>
+ <int name="segmentsPerTier">10</int>
+ </mergePolicy>
+ -->
+
+ <!-- Merge Factor
+ The merge factor controls how many segments will get merged at
a time.
+ For TieredMergePolicy, mergeFactor is a convenience parameter
which
+ will set both MaxMergeAtOnce and SegmentsPerTier at once.
+ For LogByteSizeMergePolicy, mergeFactor decides how many new
segments
+ will be allowed before they are merged into one.
+ Default is 10 for both merge policies.
+ -->
+ <!--
+ <mergeFactor>10</mergeFactor>
+ -->
+
+ <!-- Expert: Merge Scheduler
+ The Merge Scheduler in Lucene controls how merges are
+ performed. The ConcurrentMergeScheduler (Lucene 2.3 default)
+ can perform merges in the background using separate threads.
+ The SerialMergeScheduler (Lucene 2.2 default) does not.
+ -->
+ <!--
+ <mergeScheduler
class="org.apache.lucene.index.ConcurrentMergeScheduler"/>
+ -->
+
+ <!-- LockFactory
+
+ This option specifies which Lucene LockFactory implementation
+ to use.
+
+ single = SingleInstanceLockFactory - suggested for a
+ read-only index or when there is no possibility of
+ another process trying to modify the index.
+ native = NativeFSLockFactory - uses OS native file locking.
+ Do not use when multiple solr webapps in the same
+ JVM are attempting to share a single index.
+ simple = SimpleFSLockFactory - uses a plain file for locking
+
+ Defaults: 'native' is default for Solr3.6 and later, otherwise
+ 'simple' is the default
+
+ More details on the nuances of each LockFactory...
+ http://wiki.apache.org/lucene-java/AvailableLockFactories
+ -->
+ <!-- <lockType>native</lockType> -->
+
+ <!-- Unlock On Startup
+
+ If true, unlock any held write or commit locks on startup.
+ This defeats the locking mechanism that allows multiple
+ processes to safely access a lucene index, and should be used
+ with care. Default is "false".
+
+ This is not needed if lock type is 'none' or 'single'
+ -->
+ <!--
+ <unlockOnStartup>false</unlockOnStartup>
+ -->
+
+ <!-- Expert: Controls how often Lucene loads terms into memory
+ Default is 128 and is likely good for most everyone.
+ -->
+ <!-- <termIndexInterval>128</termIndexInterval> -->
+
+ <!-- If true, IndexReaders will be reopened (often more efficient)
+ instead of closed and then opened. Default: true
+ -->
+ <!--
+ <reopenReaders>true</reopenReaders>
+ -->
+
+ <!-- Commit Deletion Policy
+
+ Custom deletion policies can be specified here. The class must
+ implement org.apache.lucene.index.IndexDeletionPolicy.
+
+
http://lucene.apache.org/java/3_5_0/api/core/org/apache/lucene/index/IndexDeletionPolicy.html
+
+ The default Solr IndexDeletionPolicy implementation supports
+ deleting index commit points on number of commits, age of
+ commit point and optimized status.
+
+ The latest commit point should always be preserved regardless
+ of the criteria.
+ -->
+ <!--
+<deletionPolicy class="solr.SolrDeletionPolicy">
+ -->
+ <!-- The number of commit points to be kept -->
+ <!-- <str name="maxCommitsToKeep">1</str> -->
+ <!-- The number of optimized commit points to be kept -->
+ <!-- <str name="maxOptimizedCommitsToKeep">0</str> -->
+ <!--
+ Delete all commit points once they have reached the given age.
+ Supports DateMathParser syntax e.g.
+ -->
+ <!--
+ <str name="maxCommitAge">30MINUTES</str>
+ <str name="maxCommitAge">1DAY</str>
+ -->
+ <!--
+ </deletionPolicy>
+ -->
+
+ <!-- Lucene Infostream
+
+ To aid in advanced debugging, Lucene provides an "InfoStream"
+ of detailed information when indexing.
+
+ Setting The value to true will instruct the underlying Lucene
+ IndexWriter to write its debugging info the specified file
+ -->
+ <!-- <infoStream file="INFOSTREAM.txt">false</infoStream> -->
+ </indexConfig>
+
+
+ <!-- JMX
+
+ This example enables JMX if and only if an existing MBeanServer
+ is found, use this if you want to configure JMX through JVM
+ parameters. Remove this to disable exposing Solr configuration
+ and statistics to JMX.
+
+ For more details see http://wiki.apache.org/solr/SolrJmx
+ -->
+ <jmx />
+ <!-- If you want to connect to a particular server, specify the
+ agentId
+ -->
+ <!-- <jmx agentId="myAgent" /> -->
+ <!-- If you want to start a new MBeanServer, specify the serviceUrl -->
+ <!-- <jmx
serviceUrl="service:jmx:rmi:///jndi/rmi://localhost:9999/solr"/>
+ -->
+
+ <!-- The default high-performance update handler -->
+ <updateHandler class="solr.DirectUpdateHandler2">
+
+ <!-- AutoCommit
+
+ Perform a <commit/> automatically under certain conditions.
+ Instead of enabling autoCommit, consider using "commitWithin"
+ when adding documents.
+
+ http://wiki.apache.org/solr/UpdateXmlMessages
+
+ maxDocs - Maximum number of documents to add since the last
+ commit before automatically triggering a new commit.
+
+ maxTime - Maximum amount of time that is allowed to pass
+ since a document was added before automaticly
+ triggering a new commit.
+ -->
+ <!--
+ <autoCommit>
+ <maxDocs>10000</maxDocs>
+ <maxTime>1000</maxTime>
+ </autoCommit>
+ -->
+
+ <!-- Update Related Event Listeners
+
+ Various IndexWriter related events can trigger Listeners to
+ take actions.
+
+ postCommit - fired after every commit or optimize command
+ postOptimize - fired after every optimize command
+ -->
+ <!-- The RunExecutableListener executes an external command from a
+ hook such as postCommit or postOptimize.
+
+ exe - the name of the executable to run
+ dir - dir to use as the current working directory. (default=".")
+ wait - the calling thread waits until the executable returns.
+ (default="true")
+ args - the arguments to pass to the program. (default is none)
+ env - environment variables to set. (default is none)
+ -->
+ <!-- This example shows how RunExecutableListener could be used
+ with the script based replication...
+ http://wiki.apache.org/solr/CollectionDistribution
+ -->
+ <!--
+ <listener event="postCommit" class="solr.RunExecutableListener">
+ <str name="exe">solr/bin/snapshooter</str>
+ <str name="dir">.</str>
+ <bool name="wait">true</bool>
+ <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
+ <arr name="env"> <str>MYVAR=val1</str> </arr>
+ </listener>
+ -->
+ </updateHandler>
+
+ <!-- IndexReaderFactory
+
+ Use the following format to specify a custom IndexReaderFactory,
+ which allows for alternate IndexReader implementations.
+
+ ** Experimental Feature **
+
+ Please note - Using a custom IndexReaderFactory may prevent
+ certain other features from working. The API to
+ IndexReaderFactory may change without warning or may even be
+ removed from future releases if the problems cannot be
+ resolved.
+
+
+ ** Features that may not work with custom IndexReaderFactory **
+
+ The ReplicationHandler assumes a disk-resident index. Using a
+ custom IndexReader implementation may cause incompatibility
+ with ReplicationHandler and may cause replication to not work
+ correctly. See SOLR-1366 for details.
+
+ -->
+ <!--
+ <indexReaderFactory name="IndexReaderFactory" class="package.class">
+ <str name="someArg">Some Value</str>
+ </indexReaderFactory >
+ -->
+ <!-- By explicitly declaring the Factory, the termIndexDivisor can
+ be specified.
+ -->
+ <!--
+ <indexReaderFactory name="IndexReaderFactory"
+ class="solr.StandardIndexReaderFactory">
+ <int name="setTermIndexDivisor">12</int>
+ </indexReaderFactory >
+ -->
+
+ <!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Query section - these settings control query time things like caches
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
+ <query>
+ <!-- Max Boolean Clauses
+
+ Maximum number of clauses in each BooleanQuery, an exception
+ is thrown if exceeded.
+
+ ** WARNING **
+
+ This option actually modifies a global Lucene property that
+ will affect all SolrCores. If multiple solrconfig.xml files
+ disagree on this property, the value at any given moment will
+ be based on the last SolrCore to be initialized.
+
+ -->
+ <maxBooleanClauses>1024</maxBooleanClauses>
+
+
+ <!-- Solr Internal Query Caches
+
+ There are two implementations of cache available for Solr,
+ LRUCache, based on a synchronized LinkedHashMap, and
+ FastLRUCache, based on a ConcurrentHashMap.
+
+ FastLRUCache has faster gets and slower puts in single
+ threaded operation and thus is generally faster than LRUCache
+ when the hit ratio of the cache is high (> 75%), and may be
+ faster under other scenarios on multi-cpu systems.
+ -->
+
+ <!-- Filter Cache
+
+ Cache used by SolrIndexSearcher for filters (DocSets),
+ unordered sets of *all* documents that match a query. When a
+ new searcher is opened, its caches may be prepopulated or
+ "autowarmed" using data from caches in the old searcher.
+ autowarmCount is the number of items to prepopulate. For
+ LRUCache, the autowarmed items will be the most recently
+ accessed items.
+
+ Parameters:
+ class - the SolrCache implementation LRUCache or
+ (LRUCache or FastLRUCache)
+ size - the maximum number of entries in the cache
+ initialSize - the initial capacity (number of entries) of
+ the cache. (see java.util.HashMap)
+ autowarmCount - the number of entries to prepopulate from
+ and old cache.
+ -->
+ <filterCache class="solr.FastLRUCache"
+ size="512"
+ initialSize="512"
+ autowarmCount="0"/>
+
+ <!-- Query Result Cache
+
+ Caches results of searches - ordered lists of document ids
+ (DocList) based on a query, a sort, and the range of documents
+ requested.
+ -->
+ <queryResultCache class="solr.LRUCache"
+ size="512"
+ initialSize="512"
+ autowarmCount="0"/>
+
+ <!-- Document Cache
+
+ Caches Lucene Document objects (the stored fields for each
+ document). Since Lucene internal document ids are transient,
+ this cache will not be autowarmed.
+ -->
+ <documentCache class="solr.LRUCache"
+ size="512"
+ initialSize="512"
+ autowarmCount="0"/>
+
+ <!-- Field Value Cache
+
+ Cache used to hold field values that are quickly accessible
+ by document id. The fieldValueCache is created by default
+ even if not configured here.
+ -->
+ <!--
+ <fieldValueCache class="solr.FastLRUCache"
+ size="512"
+ autowarmCount="128"
+ showItems="32" />
+ -->
+
+ <!-- Custom Cache
+
+ Example of a generic cache. These caches may be accessed by
+ name through SolrIndexSearcher.getCache(),cacheLookup(), and
+ cacheInsert(). The purpose is to enable easy caching of
+ user/application level data. The regenerator argument should
+ be specified as an implementation of solr.CacheRegenerator
+ if autowarming is desired.
+ -->
+ <!--
+ <cache name="myUserCache"
+ class="solr.LRUCache"
+ size="4096"
+ initialSize="1024"
+ autowarmCount="1024"
+ regenerator="com.mycompany.MyRegenerator"
+ />
+ -->
+
+
+ <!-- Lazy Field Loading
+
+ If true, stored fields that are not requested will be loaded
+ lazily. This can result in a significant speed improvement
+ if the usual case is to not load all stored fields,
+ especially if the skipped fields are large compressed text
+ fields.
+ -->
+ <enableLazyFieldLoading>true</enableLazyFieldLoading>
+
+ <!-- Use Filter For Sorted Query
+
+ A possible optimization that attempts to use a filter to
+ satisfy a search. If the requested sort does not include
+ score, then the filterCache will be checked for a filter
+ matching the query. If found, the filter will be used as the
+ source of document ids, and then the sort will be applied to
+ that.
+
+ For most situations, this will not be useful unless you
+ frequently get the same search repeatedly with different sort
+ options, and none of them ever use "score"
+ -->
+ <!--
+ <useFilterForSortedQuery>true</useFilterForSortedQuery>
+ -->
+
+ <!-- Result Window Size
+
+ An optimization for use with the queryResultCache. When a search
+ is requested, a superset of the requested number of document ids
+ are collected. For example, if a search for a particular query
+ requests matching documents 10 through 19, and queryWindowSize
+ is 50, then documents 0 through 49 will be collected and cached.
+ Any further requests in that range can be satisfied via the cache.
+ -->
+ <queryResultWindowSize>20</queryResultWindowSize>
+
+ <!-- Maximum number of documents to cache for any entry in the
+ queryResultCache.
+ -->
+ <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
+
+ <!-- Query Related Event Listeners
+
+ Various IndexSearcher related events can trigger Listeners to
+ take actions.
+
+ newSearcher - fired whenever a new searcher is being prepared
+ and there is a current searcher handling requests (aka
+ registered). It can be used to prime certain caches to
+ prevent long request times for certain requests.
+
+ firstSearcher - fired whenever a new searcher is being
+ prepared but there is no current registered searcher to handle
+ requests or to gain autowarming data from.
+
+
+ -->
+ <!-- QuerySenderListener takes an array of NamedList and executes a
+ local query request for each NamedList in sequence.
+ -->
+ <listener event="newSearcher" class="solr.QuerySenderListener">
+ <arr name="queries">
+ <!--
+ <lst><str name="q">solr</str><str name="sort">price
asc</str></lst>
+ <lst><str name="q">rocks</str><str name="sort">weight
asc</str></lst>
+ -->
+ </arr>
+ </listener>
+ <listener event="firstSearcher" class="solr.QuerySenderListener">
+ <arr name="queries">
+ <lst>
+ <str name="q">static firstSearcher warming in
solrconfig.xml</str>
+ </lst>
+ </arr>
+ </listener>
+
+ <!-- Use Cold Searcher
+
+ If a search request comes in and there is no current
+ registered searcher, then immediately register the still
+ warming searcher and use it. If "false" then all requests
+ will block until the first searcher is done warming.
+ -->
+ <useColdSearcher>false</useColdSearcher>
+
+ <!-- Max Warming Searchers
+
+ Maximum number of searchers that may be warming in the
+ background concurrently. An error is returned if this limit
+ is exceeded.
+
+ Recommend values of 1-2 for read-only slaves, higher for
+ masters w/o cache warming.
+ -->
+ <maxWarmingSearchers>2</maxWarmingSearchers>
+
+ </query>
+
+
+ <!-- Request Dispatcher
+
+ This section contains instructions for how the SolrDispatchFilter
+ should behave when processing requests for this SolrCore.
+
+ If you wish to regain use of /select?qt=... style request handler
+ dispatching, then first add handleSelect="true" to
+ <requestDispatcher>. Then change the name of the request handler
+ named "/select" to something else without a leading "/", such as
+ simply "select" and add default="true" to it.
+ -->
+ <requestDispatcher>
+ <!-- Request Parsing
+
+ These settings indicate how Solr Requests may be parsed, and
+ what restrictions may be placed on the ContentStreams from
+ those requests
+
+ enableRemoteStreaming - enables use of the stream.file
+ and stream.url parameters for specifying remote streams.
+ SearchRequestHandler won't fetch it, but some others do.
+
+ multipartUploadLimitInKB - specifies the max size of
+ Multipart File Uploads that Solr will allow in a Request.
+
+ *** WARNING ***
+ The settings below authorize Solr to fetch remote files, You
+ should make sure your system has some authentication before
+ using enableRemoteStreaming="true"
+
+ -->
+ <requestParsers enableRemoteStreaming="true"
+ multipartUploadLimitInKB="2048000" />
+
+ <!-- HTTP Caching
+
+ Set HTTP caching related parameters (for proxy caches and
clients).
+
+ The options below instruct Solr not to output any HTTP Caching
+ related headers
+ -->
+ <httpCaching never304="true" />
+ <!-- If you include a <cacheControl> directive, it will be used to
+ generate a Cache-Control header (as well as an Expires header
+ if the value contains "max-age=")
+
+ By default, no Cache-Control header is generated.
+
+ You can use the <cacheControl> option even if you have set
+ never304="true"
+ -->
+ <!--
+ <httpCaching never304="true" >
+ <cacheControl>max-age=30, public</cacheControl>
+ </httpCaching>
+ -->
+ <!-- To enable Solr to respond with automatically generated HTTP
+ Caching headers, and to response to Cache Validation requests
+ correctly, set the value of never304="false"
+
+ This will cause Solr to generate Last-Modified and ETag
+ headers based on the properties of the Index.
+
+ The following options can also be specified to affect the
+ values of these headers...
+
+ lastModFrom - the default value is "openTime" which means the
+ Last-Modified value (and validation against If-Modified-Since
+ requests) will all be relative to when the current Searcher
+ was opened. You can change it to lastModFrom="dirLastMod" if
+ you want the value to exactly correspond to when the physical
+ index was last modified.
+
+ etagSeed="..." is an option you can change to force the ETag
+ header (and validation against If-None-Match requests) to be
+ different even if the index has not changed (ie: when making
+ significant changes to your config file)
+
+ (lastModifiedFrom and etagSeed are both ignored if you use
+ the never304="true" option)
+ -->
+ <!--
+ <httpCaching lastModifiedFrom="openTime"
+ etagSeed="Solr">
+ <cacheControl>max-age=30, public</cacheControl>
+ </httpCaching>
+ -->
+ </requestDispatcher>
+
+ <!-- Request Handlers
+
+ http://wiki.apache.org/solr/SolrRequestHandler
+
+ Incoming queries will be dispatched to the correct handler
+ based on the matching request path piece.
+
+ If a Request Handler is declared with startup="lazy", then it will
+ not be initialized until the first request that uses it.
+
+ -->
+ <!-- SearchHandler
+
+ http://wiki.apache.org/solr/SearchHandler
+
+ For processing Search Queries, the primary Request Handler
+ provided with Solr is "SearchHandler" It delegates to a sequent
+ of SearchComponents (see below) and supports distributed
+ queries across multiple shards
+ -->
+ <requestHandler name="/select" class="solr.SearchHandler"
default="true">
+ <!-- default values for query parameters can be specified, these
+ will be overridden by parameters in the request
+ -->
+ <lst name="defaults">
+ <str name="echoParams">explicit</str>
+ <int name="rows">10</int>
+ <str name="spellcheck.onlyMorePopular">false</str>
+ <str name="spellcheck.extendedResults">false</str>
+ <str name="spellcheck.count">10</str>
+ <str name="spellcheck.collate">true</str>
+ <str name="spellcheck.maxCollationTries">100</str>
+ </lst>
+ <!-- In addition to defaults, "appends" params can be specified
+ to identify values which should be appended to the list of
+ multi-val params from the query (or the existing "defaults").
+ -->
+ <!-- In this example, the param "fq=instock:true" would be
appended to
+ any query time fq params the user may specify, as a mechanism
for
+ partitioning the index, independent of any user selected
filtering
+ that may also be desired (perhaps as a result of faceted
searching).
+
+ NOTE: there is *absolutely* nothing a client can do to prevent
these
+ "appends" values from being used, so don't use this mechanism
+ unless you are sure you always want it.
+ -->
+ <!--
+ <lst name="appends">
+ <str name="fq">inStock:true</str>
+ </lst>
+ -->
+ <!-- "invariants" are a way of letting the Solr maintainer lock
down
+ the options available to Solr clients. Any params values
+ specified here are used regardless of what values may be
specified
+ in either the query, the "defaults", or the "appends" params.
+
+ In this example, the facet.field and facet.query params would
+ be fixed, limiting the facets clients can use. Faceting is
+ not turned on by default - but if the client does specify
+ facet=true in the request, these are the only facets they
+ will be able to see counts for; regardless of what other
+ facet.field or facet.query params they may specify.
+
+ NOTE: there is *absolutely* nothing a client can do to prevent
these
+ "invariants" values from being used, so don't use this mechanism
+ unless you are sure you always want it.
+ -->
+ <!--
+ <lst name="invariants">
+ <str name="facet.field">cat</str>
+ <str name="facet.field">manu_exact</str>
+ <str name="facet.query">price:[* TO 500]</str>
+ <str name="facet.query">price:[500 TO *]</str>
+ </lst>
+ -->
+ <!-- If the default list of SearchComponents is not desired, that
+ list can either be overridden completely, or components can be
+ prepended or appended to the default list. (see below)
+ -->
+ <!--
+ <arr name="components">
+ <str>nameOfCustomComponent1</str>
+ <str>nameOfCustomComponent2</str>
+ </arr>
+ -->
+ <arr name="last-components">
+ <str>spellcheck</str>
+ </arr>
+ </requestHandler>
+
+ <!-- A Robust Example
+
+ This example SearchHandler declaration shows off usage of the
+ SearchHandler with many defaults declared
+
+ Note that multiple instances of the same Request Handler
+ (SearchHandler) can be registered multiple times with different
+ names (and different init parameters)
+ -->
+ <requestHandler name="/browse" class="solr.SearchHandler">
+ <lst name="defaults">
+ <str name="echoParams">explicit</str>
+
+ <!-- VelocityResponseWriter settings -->
+ <str name="wt">velocity</str>
+
+ <str name="v.template">browse</str>
+ <str name="v.layout">layout</str>
+ <str name="title">Solritas</str>
+
+ <str name="df">text</str>
+ <str name="defType">edismax</str>
+ <str name="q.alt">*:*</str>
+ <str name="rows">10</str>
+ <str name="fl">*,score</str>
+ <str name="mlt.qf">
+ text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4
+ </str>
+ <str name="mlt.fl">text,features,name,sku,id,manu,cat</str>
+ <int name="mlt.count">3</int>
+
+ <str name="qf">
+ text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4
+ </str>
+
+ <str name="facet">on</str>
+ <str name="facet.field">cat</str>
+ <str name="facet.field">manu_exact</str>
+ <str name="facet.query">ipod</str>
+ <str name="facet.query">GB</str>
+ <str name="facet.mincount">1</str>
+ <str name="facet.pivot">cat,inStock</str>
+ <str name="facet.range.other">after</str>
+ <str name="facet.range">price</str>
+ <int name="f.price.facet.range.start">0</int>
+ <int name="f.price.facet.range.end">600</int>
+ <int name="f.price.facet.range.gap">50</int>
+ <str name="f.price.facet.range.other">after</str>
+ <str name="facet.range">popularity</str>
+ <int name="f.popularity.facet.range.start">0</int>
+ <int name="f.popularity.facet.range.end">10</int>
+ <int name="f.popularity.facet.range.gap">3</int>
+ <str name="facet.range">manufacturedate_dt</str>
+ <str
name="f.manufacturedate_dt.facet.range.start">NOW/YEAR-10YEARS</str>
+ <str name="f.manufacturedate_dt.facet.range.end">NOW</str>
+ <str name="f.manufacturedate_dt.facet.range.gap">+1YEAR</str>
+ <str name="f.manufacturedate_dt.facet.range.other">before</str>
+ <str name="f.manufacturedate_dt.facet.range.other">after</str>
+
+
+ <!-- Highlighting defaults -->
+ <str name="hl">on</str>
+ <str name="hl.fl">text features name</str>
+ <str name="f.name.hl.fragsize">0</str>
+ <str name="f.name.hl.alternateField">name</str>
+ </lst>
+ <arr name="last-components">
+ <str>spellcheck</str>
+ </arr>
+ <!--
+ <str name="url-scheme">httpx</str>
+ -->
+ </requestHandler>
+
+ <!-- XML Update Request Handler.
+
+ http://wiki.apache.org/solr/UpdateXmlMessages
+
+ The canonical Request Handler for Modifying the Index through
+ commands specified using XML.
+
+ Note: Since solr1.1 requestHandlers requires a valid content
+ type header if posted in the body. For example, curl now
+ requires: -H 'Content-type:text/xml; charset=utf-8'
+ -->
+ <requestHandler name="/update"
+ class="solr.XmlUpdateRequestHandler">
+ <!-- See below for information on defining
+ updateRequestProcessorChains that can be used by name
+ on each Update Request
+ -->
+ <!--
+ <lst name="defaults">
+ <str name="update.chain">dedupe</str>
+ </lst>
+ -->
+ </requestHandler>
+ <!-- Binary Update Request Handler
+ http://wiki.apache.org/solr/javabin
+ -->
+ <requestHandler name="/update/javabin"
+ class="solr.BinaryUpdateRequestHandler" />
+
+ <!-- CSV Update Request Handler
+ http://wiki.apache.org/solr/UpdateCSV
+ -->
+ <requestHandler name="/update/csv"
+ class="solr.CSVRequestHandler"
+ startup="lazy" />
+
+ <!-- JSON Update Request Handler
+ http://wiki.apache.org/solr/UpdateJSON
+ -->
+ <requestHandler name="/update/json"
+ class="solr.JsonUpdateRequestHandler"
+ startup="lazy" />
+
+ <!-- Solr Cell Update Request Handler
+
+ http://wiki.apache.org/solr/ExtractingRequestHandler
+
+ -->
+ <requestHandler name="/update/extract"
+ startup="lazy"
+ class="solr.extraction.ExtractingRequestHandler" >
+ <lst name="defaults">
+ <!-- All the main content goes into "text"... if you need to return
+ the extracted text or do highlighting, use a stored field. -->
+ <str name="fmap.content">text</str>
+ <str name="lowernames">true</str>
+ <str name="uprefix">ignored_</str>
+
+ <!-- capture link hrefs but ignore div attributes -->
+ <str name="captureAttr">true</str>
+ <str name="fmap.a">links</str>
+ <str name="fmap.div">ignored_</str>
+ </lst>
+ </requestHandler>
+
+ <!-- XSLT Update Request Handler
+ Transforms incoming XML with stylesheet identified by tr=
+ -->
+ <requestHandler name="/update/xslt"
+ startup="lazy"
+ class="solr.XsltUpdateRequestHandler"/>
+
+ <!-- Field Analysis Request Handler
+
+ RequestHandler that provides much the same functionality as
+ analysis.jsp. Provides the ability to specify multiple field
+ types and field names in the same request and outputs
+ index-time and query-time analysis for each of them.
+
+ Request parameters are:
+ analysis.fieldname - field name whose analyzers are to be used
+
+ analysis.fieldtype - field type whose analyzers are to be used
+ analysis.fieldvalue - text for index-time analysis
+ q (or analysis.q) - text for query time analysis
+ analysis.showmatch (true|false) - When set to true and when
+ query analysis is performed, the produced tokens of the
+ field value analysis will be marked as "matched" for every
+ token that is produces by the query analysis
+ -->
+ <requestHandler name="/analysis/field"
+ startup="lazy"
+ class="solr.FieldAnalysisRequestHandler" />
+
+
+ <!-- Document Analysis Handler
+
+ http://wiki.apache.org/solr/AnalysisRequestHandler
+
+ An analysis handler that provides a breakdown of the analysis
+ process of provided docuemnts. This handler expects a (single)
+ content stream with the following format:
+
+ <docs>
+ <doc>
+ <field name="id">1</field>
+ <field name="name">The Name</field>
+ <field name="text">The Text Value</field>
+ </doc>
+ <doc>...</doc>
+ <doc>...</doc>
+ ...
+ </docs>
+
+ Note: Each document must contain a field which serves as the
+ unique key. This key is used in the returned response to associate
+ an analysis breakdown to the analyzed document.
+
+ Like the FieldAnalysisRequestHandler, this handler also supports
+ query analysis by sending either an "analysis.query" or "q"
+ request parameter that holds the query text to be analyzed. It
+ also supports the "analysis.showmatch" parameter which when set to
+ true, all field tokens that match the query tokens will be marked
+ as a "match".
+ -->
+ <requestHandler name="/analysis/document"
+ class="solr.DocumentAnalysisRequestHandler"
+ startup="lazy" />
+
+ <!-- Admin Handlers
+
+ Admin Handlers - This will register all the standard admin
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /branches/kateglox/vagrant/puppet/modules/kateglo/files/spellings.txt
Sat Jul 21 04:14:51 2012
@@ -0,0 +1,1 @@
+
=======================================
--- /dev/null
+++ /branches/kateglox/vagrant/puppet/modules/kateglo/files/stopwords.txt
Sat Jul 21 04:14:51 2012
@@ -0,0 +1,20 @@
+# 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.
+
+#-----------------------------------------------------------------------
+# a couple of test stopwords to test that the words are really being
+# configured from this file:
+
+
=======================================
--- /dev/null
+++ /branches/kateglox/vagrant/puppet/modules/kateglo/files/synonyms.txt
Sat Jul 21 04:14:51 2012
@@ -0,0 +1,15 @@
+# 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.
+
+#-----------------------------------------------------------------------
+
+
=======================================
--- /dev/null
+++ /branches/kateglox/vagrant/puppet/modules/mysql/files/my.cnf Sat Jul 21
04:14:51 2012
@@ -0,0 +1,125 @@
+#
+# The MySQL database server configuration file.
+#
+# You can copy this to one of:
+# - "/etc/mysql/my.cnf" to set global options,
+# - "~/.my.cnf" to set user-specific options.
+#
+# One can use all long options that the program supports.
+# Run program with --help to get a list of available options and with
+# --print-defaults to see which it would actually understand and use.
+#
+# For explanations see
+# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
+
+# This will be passed to all mysql clients
+# It has been reported that passwords should be enclosed with ticks/quotes
+# escpecially if they contain "#" chars...
+# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
+[client]
+port = 3306
+socket = /var/run/mysqld/mysqld.sock
+
+# Here is entries for some specific programs
+# The following values assume you have at least 32M ram
+
+# This was formally known as [safe_mysqld]. Both versions are currently
parsed.
+[mysqld_safe]
+socket = /var/run/mysqld/mysqld.sock
+nice = 0
+
+[mysqld]
+#
+# * Basic Settings
+#
+user = mysql
+pid-file = /var/run/mysqld/mysqld.pid
+socket = /var/run/mysqld/mysqld.sock
+port = 3306
+basedir = /usr
+datadir = /var/lib/mysql
+tmpdir = /tmp
+lc-messages-dir = /usr/share/mysql
+skip-external-locking
+#
+# Instead of skip-networking the default is now to listen only on
+# localhost which is more compatible and is not less secure.
+bind-address = 0.0.0.0
+#
+# * Fine Tuning
+#
+key_buffer = 16M
+max_allowed_packet = 16M
+thread_stack = 192K
+thread_cache_size = 8
+# This replaces the startup script and checks MyISAM tables if needed
+# the first time they are touched
+myisam-recover = BACKUP
+#max_connections = 100
+#table_cache = 64
+#thread_concurrency = 10
+#
+# * Query Cache Configuration
+#
+query_cache_limit = 1M
+query_cache_size = 16M
+#
+# * Logging and Replication
+#
+# Both location gets rotated by the cronjob.
+# Be aware that this log type is a performance killer.
+# As of 5.1 you can enable the log at runtime!
+#general_log_file = /var/log/mysql/mysql.log
+#general_log = 1
+#
+# Error logging goes to syslog due to
/etc/mysql/conf.d/mysqld_safe_syslog.cnf.
+#
+# Here you can see queries with especially long duration
+#log_slow_queries = /var/log/mysql/mysql-slow.log
+#long_query_time = 2
+#log-queries-not-using-indexes
+#
+# The following can be used as easy to replay backup logs or for
replication.
+# note: if you are setting up a replication slave, see README.Debian about
+# other settings you may need to change.
+#server-id = 1
+#log_bin = /var/log/mysql/mysql-bin.log
+expire_logs_days = 10
+max_binlog_size = 100M
+#binlog_do_db = include_database_name
+#binlog_ignore_db = include_database_name
+#
+# * InnoDB
+#
+# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
+# Read the manual for more InnoDB related options. There are many!
+#
+# * Security Features
+#
+# Read the manual, too, if you want chroot!
+# chroot = /var/lib/mysql/
+#
+# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
+#
+# ssl-ca=/etc/mysql/cacert.pem
+# ssl-cert=/etc/mysql/server-cert.pem
+# ssl-key=/etc/mysql/server-key.pem
+
+
+
+[mysqldump]
+quick
+quote-names
+max_allowed_packet = 16M
+
+[mysql]
+#no-auto-rehash # faster start of mysql but no tab completition
+
+[isamchk]
+key_buffer = 16M
+
+#
+# * IMPORTANT: Additional settings that can override those from this file!
+# The files must end with '.cnf', otherwise they'll be ignored.
+#
+!includedir /etc/mysql/conf.d/
=======================================
--- /branches/kateglox/.idea/workspace.xml Tue Jul 17 01:40:22 2012
+++ /branches/kateglox/.idea/workspace.xml Sat Jul 21 04:14:51 2012
@@ -2,8 +2,42 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" readonly="true"
id="7fad7703-02e1-4f4f-8603-084b2e534c9a" name="Default" comment="">
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$"
afterPath="$PROJECT_DIR$" />
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files" />
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/mysql/files" />
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/kateglox.sql"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/mysql/files/my.cnf" />
+ <change type="DELETED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\build\solr\mapping-ISOLatin1Accent.txt"
afterPath="" />
+ <change type="DELETED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\build\solr\scripts.conf"
afterPath="" />
+ <change type="DELETED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\library\Stubbles\bootstrap.php"
afterPath="" />
+ <change type="DELETED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\build\solr\dataimport.properties"
afterPath="" />
+ <change type="DELETED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\build\solr"
afterPath="" />
+ <change type="DELETED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\library\Stubbles"
afterPath="" />
+ <change type="MOVED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\build\solr\data-config.xml"
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/data-config.xml"
/>
+ <change type="MOVED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\build\solr\elevate.xml"
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/elevate.xml"
/>
+ <change type="MOVED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\build\solr\protwords.txt"
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/protwords.txt"
/>
+ <change type="MOVED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\build\solr\schema.xml"
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/schema.xml" />
+ <change type="MOVED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\build\solr\solrconfig.xml"
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/solrconfig.xml"
/>
+ <change type="MOVED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\build\solr\spellings.txt"
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/spellings.txt"
/>
+ <change type="MOVED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\build\solr\stopwords.txt"
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/stopwords.txt"
/>
+ <change type="MOVED"
beforePath="C:\Users\Purnama\StormWorkspace\kateglo\build\solr\synonyms.txt"
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/synonyms.txt"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/application/configs/application.ini"
afterPath="$PROJECT_DIR$/application/configs/application.ini" />
<change type="MODIFICATION"
beforePath="$PROJECT_DIR$/.idea/workspace.xml"
afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/application/configs/Binder.php"
afterPath="$PROJECT_DIR$/application/configs/Binder.php" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/application/providers/Config.php"
afterPath="$PROJECT_DIR$/application/providers/Config.php" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/application/providers/Connection.php"
afterPath="$PROJECT_DIR$/application/providers/Connection.php" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/application/providers/EntityManager.php"
afterPath="$PROJECT_DIR$/application/providers/EntityManager.php" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/application/providers/Log.php"
afterPath="$PROJECT_DIR$/application/providers/Log.php" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/application/providers/Solr.php"
afterPath="$PROJECT_DIR$/application/providers/Solr.php" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/application/utilities/Injector.php"
afterPath="$PROJECT_DIR$/application/utilities/Injector.php" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/application/utilities/REST.php"
afterPath="$PROJECT_DIR$/application/utilities/REST.php" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/application/utilities/interfaces/REST.php"
afterPath="$PROJECT_DIR$/application/utilities/interfaces/REST.php" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/library/Zend/Controller/Dispatcher/Stubbles.php"
afterPath="$PROJECT_DIR$/library/Zend/Controller/Dispatcher/Stubbles.php" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/public/index.php"
afterPath="$PROJECT_DIR$/public/index.php" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/vagrant/puppet/modules/bootstrap/manifests/init.pp"
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/bootstrap/manifests/init.pp"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/manifests/init.pp"
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/manifests/init.pp"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/vagrant/puppet/modules/mysql/manifests/init.pp"
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/mysql/manifests/init.pp" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/vagrant/puppet/modules/php/manifests/init.pp"
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/php/manifests/init.pp" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/vagrant/puppet/modules/solr/manifests/init.pp"
afterPath="$PROJECT_DIR$/vagrant/puppet/modules/solr/manifests/init.pp" />
</list>
<ignored path="kateglo.iws" />
<ignored path=".idea/workspace.xml" />
@@ -25,55 +59,37 @@
</component>
<component name="FileEditorManager">
<leaf>
- <file leaf-file-name="site.erb" pinned="false" current="false"
current-in-tab="false">
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/apache/templates/site.erb">
- <provider selected="true" editor-type-id="text-editor">
- <state line="27" column="18" selection-start="633"
selection-end="633" vertical-scroll-proportion="0.0">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="init.pp" pinned="false" current="false"
current-in-tab="false">
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/apache/manifests/init.pp">
- <provider selected="true" editor-type-id="text-editor">
- <state line="57" column="0" selection-start="1494"
selection-end="1494" vertical-scroll-proportion="0.0">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
<file leaf-file-name="init.pp" pinned="false" current="true"
current-in-tab="true">
<entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/kateglo/manifests/init.pp">
<provider selected="true" editor-type-id="text-editor">
- <state line="10" column="76" selection-start="317"
selection-end="317" vertical-scroll-proportion="0.31716418">
+ <state line="49" column="26" selection-start="1429"
selection-end="1429" vertical-scroll-proportion="0.03057554">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="composer.json" pinned="false" current="false"
current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/composer.json">
+ <file leaf-file-name="init.pp" pinned="false" current="false"
current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/php/manifests/init.pp">
<provider selected="true" editor-type-id="text-editor">
- <state line="6" column="45" selection-start="231"
selection-end="231" vertical-scroll-proportion="0.0">
+ <state line="42" column="4" selection-start="1209"
selection-end="1209" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="init.pp" pinned="false" current="false"
current-in-tab="false">
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/php/manifests/init.pp">
+ <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/solr/manifests/init.pp">
<provider selected="true" editor-type-id="text-editor">
- <state line="67" column="40" selection-start="2037"
selection-end="2037" vertical-scroll-proportion="0.0">
+ <state line="114" column="30" selection-start="3865"
selection-end="3866" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="suhosin.ini.erb" pinned="false"
current="false" current-in-tab="false">
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/php/templates/suhosin.ini.erb">
+ <file leaf-file-name="init.pp" pinned="false" current="false"
current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/bootstrap/manifests/init.pp">
<provider selected="true" editor-type-id="text-editor">
- <state line="27" column="41" selection-start="822"
selection-end="822" vertical-scroll-proportion="0.0">
+ <state line="9" column="21" selection-start="307"
selection-end="307" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -82,30 +98,21 @@
<file leaf-file-name="main.pp" pinned="false" current="false"
current-in-tab="false">
<entry
file="file://$PROJECT_DIR$/vagrant/puppet/manifests/main.pp">
<provider selected="true" editor-type-id="text-editor">
- <state line="13" column="19" selection-start="268"
selection-end="268" vertical-scroll-proportion="0.0">
+ <state line="13" column="4" selection-start="253"
selection-end="253" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="init.pp" pinned="false" current="false"
current-in-tab="false">
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/bootstrap/manifests/init.pp">
+ <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/mysql/manifests/init.pp">
<provider selected="true" editor-type-id="text-editor">
- <state line="14" column="5" selection-start="402"
selection-end="402" vertical-scroll-proportion="0.0">
+ <state line="12" column="107" selection-start="255"
selection-end="255" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="init.pp" pinned="false" current="false"
current-in-tab="false">
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/diverse/manifests/init.pp">
- <provider selected="true" editor-type-id="text-editor">
- <state line="10" column="114" selection-start="348"
selection-end="450" vertical-scroll-proportion="0.0">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
</leaf>
</component>
<component name="FindManager">
@@ -116,31 +123,58 @@
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
- <option
value="$PROJECT_DIR$/vagrant/puppet/modules/apache/templates/httpd.conf.erb"
/>
- <option value="$PROJECT_DIR$/vagrant/Vagrantfile" />
- <option
value="$PROJECT_DIR$/vagrant/puppet/modules/php/templates/apc.ini.erb" />
- <option
value="$PROJECT_DIR$/vagrant/puppet/modules/php/templates/xdebug.ini.erb" />
- <option
value="$PROJECT_DIR$/vagrant/puppet/modules/diverse/manifests/init.pp" />
- <option
value="$PROJECT_DIR$/vagrant/puppet/modules/php/templates/php.ini.erb" />
- <option
value="$PROJECT_DIR$/vagrant/puppet/modules/solr/templates/default_jetty.erb"
/>
- <option
value="$PROJECT_DIR$/vagrant/puppet/modules/solr/templates/default.jetty.erb"
/>
- <option
value="$PROJECT_DIR$/vagrant/puppet/modules/solr/manifests/init.pp" />
- <option
value="$PROJECT_DIR$/vagrant/puppet/modules/apache/manifests/init.pp" />
- <option
value="$PROJECT_DIR$/vagrant/puppet/modules/bootstrap/manifests/init.pp" />
+ <option value="$PROJECT_DIR$/application/providers/Solr.php" />
+ <option
value="$PROJECT_DIR$/library/Zend/Controller/Dispatcher/Stubbles.php" />
+ <option value="$PROJECT_DIR$/application/utilities/REST.php" />
+ <option
value="$PROJECT_DIR$/application/utilities/interfaces/REST.php" />
+ <option value="$PROJECT_DIR$/application/configs/application.ini"
/>
+ <option value="$PROJECT_DIR$/public/index.php" />
+ <option value="$PROJECT_DIR$/build/solr/data-config.xml" />
+ <option
value="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/schema.xml" />
+ <option
value="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/solrconfig.xml" />
+ <option
value="$PROJECT_DIR$/vagrant/puppet/modules/mysql/files/my.cnf" />
+ <option
value="$PROJECT_DIR$/vagrant/puppet/modules/mysql/manifests/init.pp" />
<option value="$PROJECT_DIR$/vagrant/puppet/manifests/main.pp" />
+ <option
value="$PROJECT_DIR$/vagrant/puppet/modules/bootstrap/manifests/init.pp" />
<option
value="$PROJECT_DIR$/vagrant/puppet/modules/php/manifests/init.pp" />
- <option
value="$PROJECT_DIR$/vagrant/puppet/modules/php/templates/suhosin.ini.erb"
/>
- <option value="$PROJECT_DIR$/composer.json" />
+ <option
value="$PROJECT_DIR$/vagrant/puppet/modules/solr/manifests/init.pp" />
<option
value="$PROJECT_DIR$/vagrant/puppet/modules/kateglo/manifests/init.pp" />
</list>
</option>
</component>
- <component name="PhpWorkspaceProjectConfiguration"
backward_compatibility_performed="true" />
+ <component name="PhpWorkspaceProjectConfiguration"
backward_compatibility_performed="true">
+ <include_path>
+ <path
value="C:\Users\Purnama\StormWorkspace\kateglo\vendor\doctrine\common\lib\Doctrine"
/>
+ <path
value="C:\Users\Purnama\StormWorkspace\kateglo\vendor\zendframework\zendframework1\library\Zend"
/>
+ </include_path>
+ </component>
<component name="ProjectFrameBounds">
<option name="x" value="-8" />
<option name="y" value="-8" />
<option name="width" value="1382" />
<option name="height" value="754" />
+ </component>
+ <component name="ProjectInspectionProfilesVisibleTreeState">
+ <entry key="Project Default">
+ <profile-state>
+ <expanded-state>
+ <State>
+ <id />
+ </State>
+ <State>
+ <id>JavaScript</id>
+ </State>
+ <State>
+ <id>Potentially confusing code constructsJavaScript</id>
+ </State>
+ </expanded-state>
+ <selected-state>
+ <State>
+ <id>CSS</id>
+ </State>
+ </selected-state>
+ </profile-state>
+ </entry>
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
<OptionsSetting value="true" id="Add" />
@@ -168,23 +202,23 @@
<sortByType />
</navigator>
<panes>
- <pane id="Scope">
- <subPane subId="Project Files">
+ <pane id="ProjectPane">
+ <subPane>
<PATH>
- <PATH_ELEMENT USER_OBJECT="Root">
- <option name="myItemId" value="" />
- <option name="myItemType" value="" />
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
</PATH>
- </subPane>
- </pane>
- <pane id="ProjectPane">
- <subPane>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="kateglo" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -195,6 +229,330 @@
<option name="myItemId" value="kateglo" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="vagrant" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="vagrant" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="puppet" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="vagrant" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="puppet" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="modules" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="solr" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="vagrant" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="puppet" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="modules" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="solr" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="manifests" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="vagrant" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="puppet" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="modules" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="vagrant" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="puppet" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="modules" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="mysql" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="manifests" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="vagrant" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="puppet" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="modules" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="mysql" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="files" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="vagrant" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="puppet" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="modules" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="manifests" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="vagrant" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="puppet" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="modules" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="files" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="vagrant" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="puppet" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="modules" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="bootstrap" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="manifests" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="vagrant" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="puppet" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="manifests" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="public" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="build" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="kateglo" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="application" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ </subPane>
+ </pane>
+ <pane id="Scope">
+ <subPane subId="Project Files">
+ <PATH>
+ <PATH_ELEMENT USER_OBJECT="Root">
+ <option name="myItemId" value="" />
+ <option name="myItemType" value="" />
+ </PATH_ELEMENT>
</PATH>
</subPane>
</pane>
@@ -203,7 +561,7 @@
<component name="PropertiesComponent">
<property name="options.splitter.main.proportions" value="0.3" />
<property name="WebServerToolWindowFactoryState" value="true" />
- <property name="options.lastSelected"
value="reference.settings.deploy.options" />
+ <property name="options.lastSelected" value="preferences.keymap" />
<property name="options.searchVisible" value="true" />
<property name="options.splitter.details.proportions" value="0.2" />
</component>
@@ -217,11 +575,21 @@
</serverdata>
</server>
</servers>
+ </component>
+ <component name="RecentsManager">
+ <key name="MoveFile.RECENT_KEYS">
+ <recent
name="C:\Users\Purnama\StormWorkspace\kateglo\vagrant\puppet\modules\kateglo\files"
/>
+ </key>
</component>
<component name="RunManager">
<configuration default="true" type="PHPUnitRunConfigurationType"
factoryName="PHPUnit">
<TestRunner />
<method>
+ <option name="PhingTarget" enabled="false" />
+ </method>
+ </configuration>
+ <configuration default="true" type="PhpLocalRunConfigurationType"
factoryName="PHP Console">
+ <method>
<option name="PhingTarget" enabled="false" />
</method>
</configuration>
@@ -316,7 +684,11 @@
<created>1342501378105</created>
<updated>1342501378105</updated>
</task>
- <option name="localTasksCounter" value="7" />
+ <task id="LOCAL-00007" summary="ignore composer artifacts">
+ <created>1342514427103</created>
+ <updated>1342514427103</updated>
+ </task>
+ <option name="localTasksCounter" value="8" />
<servers />
</component>
<component name="ToolWindowManager">
@@ -324,25 +696,25 @@
<editor active="false" />
<layout>
<window_info id="Data Sources" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.33" sideWeight="0.5" order="3" side_tool="false"
content_ui="tabs" />
- <window_info id="File Transfer" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.32659933" sideWeight="0.5" order="7" side_tool="false"
content_ui="tabs" />
<window_info id="Changes" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.3289183" sideWeight="0.5" order="7" side_tool="false"
content_ui="tabs" />
+ <window_info id="TODO" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.33" sideWeight="0.5" order="6" side_tool="false"
content_ui="tabs" />
+ <window_info id="Structure" active="false" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs"
/>
<window_info id="Remote Host" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.33" sideWeight="0.5" order="3" side_tool="false"
content_ui="tabs" />
+ <window_info id="Project" active="true" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true"
weight="0.27272728" sideWeight="0.67171717" order="0" side_tool="false"
content_ui="combo" />
<window_info id="Debug" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs"
/>
- <window_info id="Event Log" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs"
/>
<window_info id="Favorites" active="false" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs"
/>
- <window_info id="Version Control" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.33" sideWeight="0.5" order="7" side_tool="false"
content_ui="tabs" />
- <window_info id="Messages" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.32828283" sideWeight="0.5" order="7" side_tool="false"
content_ui="tabs" />
- <window_info id="TODO" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.33" sideWeight="0.5" order="6" side_tool="false"
content_ui="tabs" />
- <window_info id="Structure" active="false" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs"
/>
- <window_info id="Project" active="true" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true"
weight="0.41136363" sideWeight="0.67171717" order="0" side_tool="false"
content_ui="combo" />
+ <window_info id="Event Log" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.32996634" sideWeight="0.5" order="7" side_tool="true"
content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.33" sideWeight="0.5" order="2" side_tool="false"
content_ui="tabs" />
+ <window_info id="Version Control" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.33" sideWeight="0.5" order="7" side_tool="false"
content_ui="tabs" />
+ <window_info id="File Transfer" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.32491583" sideWeight="0.5" order="7" side_tool="false"
content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.25" sideWeight="0.5" order="4" side_tool="false"
content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.33" sideWeight="0.5" order="0" side_tool="false"
content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.25" sideWeight="0.5" order="1" side_tool="false"
content_ui="tabs" />
- <window_info id="Find" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.5016835" sideWeight="0.5" order="1" side_tool="false"
content_ui="tabs" />
+ <window_info id="Find" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.43434343" sideWeight="0.5" order="1" side_tool="false"
content_ui="tabs" />
+ <window_info id="Messages" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true"
weight="0.32828283" sideWeight="0.5" order="7" side_tool="false"
content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs"
/>
<window_info id="Hierarchy" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.25" sideWeight="0.5" order="2" side_tool="false"
content_ui="combo" />
- <window_info id="Inspection" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs"
/>
+ <window_info id="Inspection" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false"
weight="0.3989899" sideWeight="0.5" order="5" side_tool="false"
content_ui="tabs" />
</layout>
</component>
<component name="VcsContentAnnotationSettings">
@@ -382,7 +754,7 @@
<option name="SHOW_VCS_ERROR_NOTIFICATIONS" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />
- <option name="LAST_COMMIT_MESSAGE" value="ignore composer artifacts" />
+ <option name="LAST_COMMIT_MESSAGE" value="Refactor Kateglo to work
with new third party library structure" />
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" />
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
@@ -402,97 +774,92 @@
<MESSAGE value="create puppet script for SOLR" />
<MESSAGE value="create puppet script for kateglo&#10;create composer
script" />
<MESSAGE value="ignore composer artifacts" />
+ <MESSAGE value="Refactor Kateglo to work with new third party library
structure" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
</component>
<component name="editorHistoryManager">
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/php/templates/xdebug.ini.erb">
+ <entry file="file://$PROJECT_DIR$/application/configs/application.ini">
<provider selected="true" editor-type-id="text-editor">
- <state line="1" column="80" selection-start="70"
selection-end="70" vertical-scroll-proportion="0.0" />
+ <state line="19" column="37" selection-start="778"
selection-end="1248" vertical-scroll-proportion="-4.76" />
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/solr/manifests/init.pp">
+ <entry
file="file://$PROJECT_DIR$/application/modules/default/views/macros/header.html">
<provider selected="true" editor-type-id="text-editor">
- <state line="71" column="99" selection-start="2357"
selection-end="2357" vertical-scroll-proportion="0.0" />
+ <state line="0" column="0" selection-start="0" selection-end="0"
vertical-scroll-proportion="0.0" />
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/java/manifests/init.pp">
+ <entry
file="file://$PROJECT_DIR$/application/modules/default/controllers/IndexController.php">
<provider selected="true" editor-type-id="text-editor">
- <state line="2" column="23" selection-start="35"
selection-end="50" vertical-scroll-proportion="0.0" />
+ <state line="95" column="3844926" selection-start="3056"
selection-end="3394" vertical-scroll-proportion="-0.65384614" />
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/solr/templates/default.jetty.erb">
+ <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/data-config.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="44" column="68" selection-start="1482"
selection-end="1482" vertical-scroll-proportion="0.0" />
+ <state line="1" column="96" selection-start="109"
selection-end="109" vertical-scroll-proportion="0.03057554" />
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/php/templates/php.ini.erb">
+ <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/spellings.txt">
<provider selected="true" editor-type-id="text-editor">
- <state line="71" column="17" selection-start="3061"
selection-end="3063" vertical-scroll-proportion="-11.24" />
+ <state line="0" column="0" selection-start="0" selection-end="0"
vertical-scroll-proportion="0.0" />
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/apache/templates/httpd.conf.erb">
+ <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/synonyms.txt">
<provider selected="true" editor-type-id="text-editor">
- <state line="19" column="19" selection-start="623"
selection-end="623" vertical-scroll-proportion="0.0" />
+ <state line="0" column="0" selection-start="0" selection-end="0"
vertical-scroll-proportion="0.0" />
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/apache/templates/site.erb">
+ <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/stopwords.txt">
<provider selected="true" editor-type-id="text-editor">
- <state line="27" column="18" selection-start="633"
selection-end="633" vertical-scroll-proportion="0.0" />
+ <state line="0" column="0" selection-start="0" selection-end="0"
vertical-scroll-proportion="0.0" />
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/apache/manifests/init.pp">
+ <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/schema.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="57" column="0" selection-start="1494"
selection-end="1494" vertical-scroll-proportion="0.0">
- <folding />
- </state>
+ <state line="491" column="8" selection-start="27953"
selection-end="27953" vertical-scroll-proportion="0.03057554" />
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/composer.json">
+ <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/kateglo/files/solrconfig.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="6" column="45" selection-start="231"
selection-end="231" vertical-scroll-proportion="0.0">
- <folding />
- </state>
+ <state line="92" column="14" selection-start="3940"
selection-end="3964" vertical-scroll-proportion="0.029876977" />
</provider>
</entry>
+ <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/mysql/files/my.cnf">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="46" column="0" selection-start="1389"
selection-end="1389" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
<entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/php/manifests/init.pp">
<provider selected="true" editor-type-id="text-editor">
- <state line="67" column="40" selection-start="2037"
selection-end="2037" vertical-scroll-proportion="0.0" />
+ <state line="42" column="4" selection-start="1209"
selection-end="1209" vertical-scroll-proportion="0.0" />
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/php/templates/suhosin.ini.erb">
+ <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/solr/manifests/init.pp">
<provider selected="true" editor-type-id="text-editor">
- <state line="27" column="41" selection-start="822"
selection-end="822" vertical-scroll-proportion="0.0">
+ <state line="114" column="30" selection-start="3865"
selection-end="3866" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/vagrant/puppet/manifests/main.pp">
- <provider selected="true" editor-type-id="text-editor">
- <state line="13" column="19" selection-start="268"
selection-end="268" vertical-scroll-proportion="0.0" />
- </provider>
- </entry>
<entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/bootstrap/manifests/init.pp">
<provider selected="true" editor-type-id="text-editor">
- <state line="14" column="5" selection-start="402"
selection-end="402" vertical-scroll-proportion="0.0" />
+ <state line="9" column="21" selection-start="307"
selection-end="307" vertical-scroll-proportion="0.0" />
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/diverse/manifests/init.pp">
+ <entry file="file://$PROJECT_DIR$/vagrant/puppet/manifests/main.pp">
<provider selected="true" editor-type-id="text-editor">
- <state line="10" column="114" selection-start="348"
selection-end="450" vertical-scroll-proportion="0.0" />
+ <state line="13" column="4" selection-start="253"
selection-end="253" vertical-scroll-proportion="0.0" />
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/composer.phar">
+ <entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/mysql/manifests/init.pp">
<provider selected="true" editor-type-id="text-editor">
- <state line="0" column="0" selection-start="0" selection-end="0"
vertical-scroll-proportion="0.0">
- <folding />
- </state>
+ <state line="12" column="107" selection-start="255"
selection-end="255" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/vagrant/puppet/modules/kateglo/manifests/init.pp">
<provider selected="true" editor-type-id="text-editor">
- <state line="10" column="76" selection-start="317"
selection-end="317" vertical-scroll-proportion="0.31716418">
+ <state line="49" column="26" selection-start="1429"
selection-end="1429" vertical-scroll-proportion="0.03057554">
<folding />
</state>
</provider>
=======================================
--- /branches/kateglox/application/configs/Binder.php Wed Jan 25 08:41:07
2012
+++ /branches/kateglox/application/configs/Binder.php Sat Jul 21 04:14:51
2012
@@ -46,7 +46,7 @@
class Binder
{

- public static function bind(\stubBinder $container)
+ public static function bind(\net\stubbles\ioc\Binder $container)
{


$container->bind('Zend_Log')->toProviderClass(Log::$CLASS_NAME)->asSingleton();
=======================================
--- /branches/kateglox/application/configs/application.ini Tue Nov 15
09:01:16 2011
+++ /branches/kateglox/application/configs/application.ini Sat Jul 21
04:14:51 2012
@@ -13,7 +13,7 @@
database.password = test
database.charset = UTF8
database.name = purnama
-errorLog = APPLICATION_PATH "/../logs/error_log"
+errorLog = "/home/vagrant/log/error.log"
cache.tal = APPLICATION_PATH "/../cache/tal/"
cache.doctrine.proxy = APPLICATION_PATH "/../cache/doctrine/"
cache.doctrine.namespace = kateglo\cache\doctrine
@@ -31,33 +31,12 @@
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

-[windowsDevelopment : production]
+[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
database.adapter = pdo_mysql
-database.host = localhost
-database.port = 3306
-database.username = root
-database.password =
-database.name = kateglox2
-
-[linuxDevelopment : production]
-phpSettings.display_startup_errors = 1
-phpSettings.display_errors = 1
-database.adapter = pdo_mysql
database.host = 127.0.0.1
database.port = 3306
database.username = root
database.password =
-database.name = kateglox2
-
-[macDevelopment : production]
-;MAMP based
-phpSettings.display_startup_errors = 1
-phpSettings.display_errors = 1
-database.adapter = pdo_mysql
-database.host = 127.0.0.1
-database.port = 8889
-database.username = root
-database.password = root
database.name = kateglox
=======================================
--- /branches/kateglox/application/providers/Config.php Tue Nov 15 09:01:16
2011
+++ /branches/kateglox/application/providers/Config.php Sat Jul 21 04:14:51
2012
@@ -33,7 +33,7 @@
*
* @Singleton
*/
-class Config extends \stubBaseObject implements \stubInjectionProvider {
+class Config extends \net\stubbles\lang\BaseObject implements
\net\stubbles\ioc\InjectionProvider {

public static $CLASS_NAME = __CLASS__;

=======================================
--- /branches/kateglox/application/providers/Connection.php Tue Nov 15
09:01:16 2011
+++ /branches/kateglox/application/providers/Connection.php Sat Jul 21
04:14:51 2012
@@ -33,7 +33,7 @@
*
* @Singleton
*/
-class Connection extends \stubBaseObject implements \stubInjectionProvider
{
+class Connection extends \net\stubbles\lang\BaseObject implements
\net\stubbles\ioc\InjectionProvider {

public static $CLASS_NAME = __CLASS__;

=======================================
--- /branches/kateglox/application/providers/EntityManager.php Tue Nov 15
09:01:16 2011
+++ /branches/kateglox/application/providers/EntityManager.php Sat Jul 21
04:14:51 2012
@@ -37,7 +37,7 @@
*
* @Singleton
*/
-class EntityManager extends \stubBaseObject implements
\stubInjectionProvider {
+class EntityManager extends \net\stubbles\lang\BaseObject implements
\net\stubbles\ioc\InjectionProvider {

public static $CLASS_NAME = __CLASS__;

=======================================
--- /branches/kateglox/application/providers/Log.php Tue Nov 15 09:01:16
2011
+++ /branches/kateglox/application/providers/Log.php Sat Jul 21 04:14:51
2012
@@ -33,7 +33,7 @@
*
* @Singleton
*/
-class Log extends \stubBaseObject implements \stubInjectionProvider {
+class Log extends \net\stubbles\lang\BaseObject implements
\net\stubbles\ioc\InjectionProvider {

public static $CLASS_NAME = __CLASS__;

=======================================
--- /branches/kateglox/application/providers/Solr.php Tue Nov 15 09:01:16
2011
+++ /branches/kateglox/application/providers/Solr.php Sat Jul 21 04:14:51
2012
@@ -33,7 +33,7 @@
*
* @Singleton
*/
-class Solr extends \stubBaseObject implements \stubInjectionProvider {
+class Solr extends \net\stubbles\lang\BaseObject implements
\net\stubbles\ioc\InjectionProvider {

public static $CLASS_NAME = __CLASS__;

=======================================
--- /branches/kateglox/application/utilities/Injector.php Tue Nov 15
09:01:16 2011
+++ /branches/kateglox/application/utilities/Injector.php Sat Jul 21
04:14:51 2012
@@ -36,7 +36,7 @@

/**
*
- * @var stubBinder
+ * @var \net\stubbles\ioc\Binder
*/
private static $container;

@@ -46,7 +46,7 @@
* @return Object<T>
*/
public static function getInstance($className) {
- if (! (self::$container instanceof \stubBinder)) {
+ if (! (self::$container instanceof \net\stubbles\ioc\Binder)) {
self::set ();
}
$object = self::$container->getInjector ()->getInstance ( $className );
@@ -58,12 +58,12 @@

/**
*
- * @param stubBinder $container
+ * @param \net\stubbles\ioc\Binder $container
*/
- public static function set(stubBinder $container = null) {
+ public static function set(\net\stubbles\ioc\Binder $container = null) {
if ($container === null) {
- if (! (self::$container instanceof \stubBinder)) {
- self::$container = new \stubBinder ();
+ if (! (self::$container instanceof \net\stubbles\ioc\Binder)) {
+ self::$container = new \net\stubbles\ioc\Binder ();
Binder::bind ( self::$container );
}
} else {
@@ -73,10 +73,10 @@

/**
*
- * @param stubBinder $container
+ * @param \net\stubbles\ioc\Binder $container
*/
- public static function get(stubBinder $container = null) {
- if (! (self::$container instanceof \stubBinder)) {
+ public static function get(\net\stubbles\ioc\Binder $container = null) {
+ if (! (self::$container instanceof \net\stubbles\ioc\Binder)) {
self::set ();
}
return self::$container;
=======================================
--- /branches/kateglox/application/utilities/REST.php Thu Dec 22 08:44:47
2011
+++ /branches/kateglox/application/utilities/REST.php Sat Jul 21 04:14:51
2012
@@ -42,7 +42,7 @@
public static $CLASS_NAME = __CLASS__;

/**
- * @var \stubReflectionClass
+ * @var \net\stubbles\lang\reflect\ReflectionClass
*/
private $classObject;

@@ -72,16 +72,16 @@
private $actionPath;

/**
- * @param \stubReflectionClass $classObject
+ * @param \net\stubbles\lang\reflect\ReflectionClass $classObject
* @return void
*/
- public function setClassObject(\stubReflectionClass $classObject)
+ public function
setClassObject(\net\stubbles\lang\reflect\ReflectionClass $classObject)
{
$this->classObject = $classObject;
}

/**
- * @return \stubReflectionClass
+ * @return \net\stubbles\lang\reflect\ReflectionClass
*/
public function getClassObject()
{
@@ -208,7 +208,7 @@
$actions = $this->classObject->getMethods();
$actionPaths = array();
$countActionUri = count($actionUriArray);
- /** @var \stubReflectionMethod $action */
+ /** @var \net\stubbles\lang\reflect\ReflectionMethod $action */
foreach ($actions as $action) {
if ($action->hasAnnotation('Path')) {
$actionPath = array_map('urlencode',
array_slice(explode('/', $action->getAnnotation('Path')->getValue()), 1));
@@ -258,7 +258,7 @@
$methodArray = array('GET', 'POST', 'PUT', 'DELETE');
$allowArray = array();
foreach ($methodArray as $method) {
- /** @var \stubReflectionMethod $action */
+ /** @var \net\stubbles\lang\reflect\ReflectionMethod $action */
foreach ($actionPaths as $action) {
if ($action->hasAnnotation(ucfirst(strtolower($method)))) {
!in_array($method, $allowArray) ? $allowArray[] =
$method : null;
@@ -284,7 +284,7 @@
if (strtoupper($serverMethod) === 'HEAD') {
$serverMethod = 'GET';
}
- /** @var \stubReflectionMethod $action */
+ /** @var \net\stubbles\lang\reflect\ReflectionMethod $action */
foreach ($actionPaths as $action) {
if
($action->hasAnnotation(ucfirst(strtolower($serverMethod)))) {
$actionMethods->add($action);
@@ -305,7 +305,7 @@
private function getActionConsumes(ArrayCollection $actionMethods)
{
$actionConsumes = new ArrayCollection();
- /** @var \stubReflectionMethod $action */
+ /** @var \net\stubbles\lang\reflect\ReflectionMethod $action */
foreach ($actionMethods as $action) {
if ($action->hasAnnotation('Consumes')) {
$actionConsumes->add($action);
@@ -326,7 +326,7 @@
private function getActionProduces(ArrayCollection $actionMethods)
{
$actionProduces = new ArrayCollection();
- /** @var \stubReflectionMethod $action */
+ /** @var \net\stubbles\lang\reflect\ReflectionMethod $action */
foreach ($actionMethods as $action) {
if ($action->hasAnnotation('Produces')) {
$actionProduces->add($action);
@@ -349,7 +349,7 @@
$supportedMediaAsArray = array();
$mediaActionSet = array();

- /** @var \stubReflectionMethod $action */
+ /** @var \net\stubbles\lang\reflect\ReflectionMethod $action */
foreach ($actionMethods as $action) {
$getRawConsumes =
$action->getAnnotation('Consumes')->getValue();
if (!empty($getRawConsumes)) {
@@ -384,14 +384,14 @@
/**
* @throws Exception|
kateglo\application\controllers\exceptions\HTTPNotAcceptableException
* @param Doctrine\Common\Collections\ArrayCollection $actionMethods
- * @return \stubReflectionMethod
+ * @return \net\stubbles\lang\reflect\ReflectionMethod
*/
private function decideProducesMedia(ArrayCollection $actionMethods)
{
$supportedMediaAsArray = array();
$mediaActionSet = array();

- /** @var \stubReflectionMethod $action */
+ /** @var \net\stubbles\lang\reflect\ReflectionMethod $action */
foreach ($actionMethods as $action) {
$getRawProduces =
$action->getAnnotation('Produces')->getValue();
if (!empty($getRawProduces)) {
@@ -423,17 +423,17 @@
}

/**
- * @param \stubReflectionMethod $method
+ * @param \net\stubbles\lang\reflect\ReflectionMethod $method
* @return array
*/
- private function createArguments(\stubReflectionMethod $method)
+ private function
createArguments(\net\stubbles\lang\reflect\ReflectionMethod $method)
{
$serverMethod = strtoupper($this->request->getMethod());
$actionPath = array_map('urlencode', array_slice(explode('/',
$method->getAnnotation('Path')->getValue()), 1));
$args = array();

$methodParameters = $method->getParameters();
- /** @var \stubReflectionParameter $parameter */
+ /** @var \net\stubbles\lang\reflect\ReflectionParameter $parameter
*/
foreach ($methodParameters as $parameter) {
$args[$parameter->getName()] =
$parameter->isDefaultValueAvailable() ? $parameter->getDefaultValue() :
null;

=======================================
--- /branches/kateglox/application/utilities/interfaces/REST.php Tue Nov 15
09:01:16 2011
+++ /branches/kateglox/application/utilities/interfaces/REST.php Sat Jul 21
04:14:51 2012
@@ -37,13 +37,13 @@
const INTERFACE_NAME = __CLASS__;

/**
- * @param \stubReflectionClass $classObject
+ * @param \net\stubbles\lang\reflect\ReflectionClass $classObject
* @return void
*/
- function setClassObject(\stubReflectionClass $classObject);
+ function setClassObject(\net\stubbles\lang\reflect\ReflectionClass
$classObject);

/**
- * @return \stubReflectionClass
+ * @return \net\stubbles\lang\reflect\ReflectionClass
*/
function getClassObject();

=======================================
--- /branches/kateglox/library/Zend/Controller/Dispatcher/Stubbles.php Wed
Nov 16 00:13:02 2011
+++ /branches/kateglox/library/Zend/Controller/Dispatcher/Stubbles.php Sat
Jul 21 04:14:51 2012
@@ -98,7 +98,7 @@

Injector::get()->bind('Zend_Controller_Action_Interface')->to($className);
/** @var $controller Zend_Controller_Action_Stubbles */
$controller = Injector::getInstance($className);
- $classObject = new stubReflectionClass($className);
+ $classObject = new
\net\stubbles\lang\reflect\ReflectionClass($className);


$controller->setRequest($request)->setResponse($response)->setInvokeArgs($this->getParams());
$controller->setHelper(new Zend_Controller_Action_HelperBroker
($controller));
=======================================
--- /branches/kateglox/public/index.php Mon Jan 16 14:19:05 2012
+++ /branches/kateglox/public/index.php Sat Jul 21 04:14:51 2012
@@ -1,75 +1,33 @@
<?php

/** Set Time Zone to where the server is */
-date_default_timezone_set ( "Europe/Berlin" );
+date_default_timezone_set("Europe/Berlin");

/** Define application environment for the application.ini */
-defined ( 'APPLICATION_ENV' ) || define ( 'APPLICATION_ENV', (getenv
( 'APPLICATION_ENV' ) ? getenv ( 'APPLICATION_ENV' ) : //'linuxDevelopment'
-'windowsDevelopment') ); //'macDevelopment'
-//'production'
-
+defined('APPLICATION_ENV') || define ('APPLICATION_ENV',
(getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') :
+ 'development'));

/**
*
- * Define the path of the Kateglo
- * Default: www/kateglo/
+ * Define the path of the Vendor
+ * Default: vendor/
*
- * @var string
*/
-defined ( 'KATEGLO_ROOT' ) || define ( 'KATEGLO_ROOT', realpath ( dirname
( __FILE__ ) . DIRECTORY_SEPARATOR . '..' ) );
-
-/**
- *
- * Define the path of the Kateglo
- * Default: www/
- *
- */
-$wwwRoot = realpath ( KATEGLO_ROOT . DIRECTORY_SEPARATOR . '..' );
+$vendor = realpath(dirname(__FILE__) . '/../vendor');
+
+require_once realpath($vendor . '/autoload.php');

/**
* Define path to application directory
* Default: www/kateglo/application
*/
-defined ( 'APPLICATION_PATH' ) || define ( 'APPLICATION_PATH', realpath (
KATEGLO_ROOT . DIRECTORY_SEPARATOR . 'application' ) );
+defined('APPLICATION_PATH') || define ('APPLICATION_PATH',
realpath(dirname(__FILE__) . '/../application'));

/**
* Define where to find the ini file
* Default: www/kateglo/application/configs/application.ini
*/
-defined ( 'CONFIGS_PATH' ) || define ( 'CONFIGS_PATH', APPLICATION_PATH .
DIRECTORY_SEPARATOR . 'configs' . DIRECTORY_SEPARATOR . 'application.ini' );
-
-/**
- *
- * Define Custom Libraries. Sometimes Extending the original ones.
- * Default: www/kateglo/library
- *
- * @var string
- */
-$libraryPath = realpath ( KATEGLO_ROOT . DIRECTORY_SEPARATOR . 'library' );
-
-/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
-/** +++ BEGIN : Initiate Doctrine Object Relational Mapper +++ */
-
-/**
- *
- * Define Doctrine Object Relational Mapper Library Path
- * Default: www/doctrine
- *
- * @var string
- */
-$doctrinePath = realpath ( $wwwRoot . DIRECTORY_SEPARATOR . 'doctrine' );
-
-/** Import Doctrine Class Loader */
-require_once $doctrinePath . DIRECTORY_SEPARATOR . 'Doctrine' .
DIRECTORY_SEPARATOR . 'Common' . DIRECTORY_SEPARATOR . 'ClassLoader.php';
-
-/**
- *
- * Register autoloader for Doctrine
- *
- * @var Doctrine\Common\ClassLoader
- */
-$doctrineLoader = new Doctrine\Common\ClassLoader ( 'Doctrine', realpath (
$doctrinePath ) );
-$doctrineLoader->register ();
+defined('CONFIGS_PATH') || define ('CONFIGS_PATH',
APPLICATION_PATH . '/configs/application.ini');

/**
*
@@ -77,113 +35,31 @@
*
* @var Doctrine\Common\ClassLoader
*/
-$kategloLoader = new Doctrine\Common\ClassLoader ( 'kateglo', realpath (
$wwwRoot ) );
-$kategloLoader->register ();
-
-/** +++ End : Initiate Doctrine Object Relational Mapper +++ */
-/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
-
-/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
-/** +++ BEGIN : Initiate Stubbles Inversion of Control +++ */
-
-/**
- *
- * Define Stubbles Library Path.
- * Default : www/stubbles/
- *
- * @var string
- */
-$stubblesPath = realpath ( $wwwRoot . DIRECTORY_SEPARATOR . 'stubbles' );
-
-/**
- *
- * Define Stubbles Cache Directory.
- * Default : www/kateglo/cache/stubbles
- *
- * @var string
- */
-$stubblesCache = realpath ( KATEGLO_ROOT . DIRECTORY_SEPARATOR . 'cache' .
DIRECTORY_SEPARATOR . 'stubbles' );
-
-/**
- *
- * Define Stubbles Class Loader File.
- * Default : www/stubbles/src/main/php/net/stubbles/stubClassLoader.php
- *
- * @var string
- */
-$stubblesClassLoader = realpath ( $stubblesPath .
DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR . 'main' .
DIRECTORY_SEPARATOR . 'php' . DIRECTORY_SEPARATOR . 'net' .
DIRECTORY_SEPARATOR . 'stubbles' .
DIRECTORY_SEPARATOR . 'stubClassLoader.php' );
-
-/** Import Stubbles Bootstrap File */
-require_once $stubblesPath . DIRECTORY_SEPARATOR . 'bootstrap.php';
-
-/** Override Stubbles original bootstrap */
-require_once $libraryPath . DIRECTORY_SEPARATOR . 'Stubbles' .
DIRECTORY_SEPARATOR . 'bootstrap.php';
-
-/**
- *
- * Define Stubbles Pathes
- *
- * @var array
- */
-$stubblesPathes = array ("project" => KATEGLO_ROOT, "cache" =>
$stubblesCache );
-
-/**
- * Instantiate autoloader for Stubbles
- * Using the Class that override the original init() method.
- */
-kateglo\library\Stubbles\stubBootstrap::init ( $stubblesPathes,
$stubblesClassLoader );
-
-/**
- * Load the Stubbles Inversion of Control
- * IoC ready to use.
- */
-\stubClassLoader::load ( 'net::stubbles::ioc::stubBinder' );
-
-/**
- * Load the Stubbles Reflection
- * Reflection ready to use.
- */
-\stubClassLoader::load('net::stubbles::reflection::reflection');
-
-/** +++ END : Initiate Stubbles Inversion of Control +++ */
-/** ++++++++++++++++++++++++++++++++++++++++++++++++++++ */
+$kategloLoader = new Doctrine\Common\ClassLoader ('kateglo',
realpath(dirname(__FILE__) . '/../..'));
+$kategloLoader->register();

/** +++++++++++++++++++++++++++++++++++++++++++++++ */
/** +++ BEGIN : Initiate PHPTal Template Engine +++ */

-/**
- *
- * Define Tal Template Engine Library Path
- * Default: www/phptal/classes
- *
- * @var string
- */
-$talPath = realpath ( $wwwRoot . DIRECTORY_SEPARATOR . 'phptal' .
DIRECTORY_SEPARATOR . 'classes' );
-set_include_path ( $talPath );
+set_include_path(realpath($vendor . '/phptal/phptal/classes'));
/** Import PHPTal Template Engine Loader */
-require_once $talPath . DIRECTORY_SEPARATOR . 'PHPTAL.php';
+require_once realpath($vendor . '/phptal/phptal/classes/PHPTAL.php');

/** +++ END : Initiate PHPTal Template Engine +++ */
/** +++++++++++++++++++++++++++++++++++++++++++++ */
-set_include_path ( realpath ( $wwwRoot . DIRECTORY_SEPARATOR . 'phpsolr' )
);
+set_include_path(realpath($vendor . '/room13/PhpSolrClient'));
require_once ('Apache/Solr/Service.php');
/** +++++++++++++++++++++++++++++++++++++++ */
/** +++ BEGIN : Initiate Zend Framework +++ */

-/**
- *
- * Define Zend Framework Library Path
- * Default: www/ZendFramework/library
- *
- * @var string
- */
-$zfPath = realpath ( $wwwRoot . DIRECTORY_SEPARATOR . 'zendframework' .
DIRECTORY_SEPARATOR . 'library' );
-
/** Ensure libraries is on include_path */
-set_include_path ( implode ( PATH_SEPARATOR, array (realpath ( $zfPath ),
realpath ( $libraryPath ), get_include_path (), $doctrinePath ) ) );
+set_include_path(implode(PATH_SEPARATOR,
array(realpath($vendor . '/zendframework/zendframework1/library'),
+ realpath(dirname(__FILE__) . '/../vendor/doctrine/common/lib/'),
+ realpath(dirname(__FILE__) . '/../library'),
+ get_include_path())));

/** Import Zend Framework Loader */
-require_once 'Zend' . DIRECTORY_SEPARATOR . 'Application.php';
+require_once 'Zend/Application.php';

/**
*
@@ -191,24 +67,24 @@
*
* @var Zend_Application
*/
-$application = new Zend_Application ( APPLICATION_ENV, CONFIGS_PATH );
+$application = new Zend_Application (APPLICATION_ENV, CONFIGS_PATH);

use kateglo\application\utilities\Injector;

/**
- *
+ *
* Get Log Service from Dependency Injector
* @var Zend_Log
*/
-$logService = Injector::getInstance ( 'Zend_Log' );
+$logService = Injector::getInstance('Zend_Log');

try {
- //run kateglo
- $application->bootstrap ()->run ();
-
-} catch ( Exception $e ) {
- //catch anything in log files
- $logService->log ( $e->getTraceAsString (), Zend_Log::ERR );
+ //run kateglo
+ $application->bootstrap()->run();
+
+} catch (Exception $e) {
+ //catch anything in log files
+ $logService->log($e->getTraceAsString(), Zend_Log::ERR);
}

/** +++ END : Initiate Zend Framework +++ */
=======================================
--- /branches/kateglox/vagrant/puppet/modules/bootstrap/manifests/init.pp
Mon Jul 16 15:08:20 2012
+++ /branches/kateglox/vagrant/puppet/modules/bootstrap/manifests/init.pp
Sat Jul 21 04:14:51 2012
@@ -6,7 +6,8 @@

# make sure the packages are up to date before beginning
exec { 'apt-get update':
- command => '/usr/bin/apt-get update'
+ command => '/usr/bin/apt-get update',
+ timeout => 0,
}

# create download directory
=======================================
--- /branches/kateglox/vagrant/puppet/modules/kateglo/manifests/init.pp Mon
Jul 16 15:08:20 2012
+++ /branches/kateglox/vagrant/puppet/modules/kateglo/manifests/init.pp Sat
Jul 21 04:14:51 2012
@@ -1,37 +1,80 @@
class kateglo {

- # create kateglo directory
- file { '/home/vagrant/kateglo':
+ file { '/home/vagrant/log':
ensure => 'directory',
- group => 'vagrant',
- owner => 'vagrant',
- require => [Package['apache2'], Package['subversion']]
+ group => 'www-data',
+ owner => 'www-data',
+ require => [Package['apache2']]
}

- exec { 'svn co
https://kateglo.googlecode.com/svn/branches/kateglox .' :
- cwd => '/home/vagrant/kateglo',
- user => 'vagrant',
- group => 'vagrant',
+ exec { "checkout kateglo" :
+ command => "svn co
https://kateglo.googlecode.com/svn/branches/kateglox kateglo",
+ cwd => '/home/vagrant/',
creates => '/home/vagrant/kateglo',
- require => File['/home/vagrant/kateglo'],
+ timeout => 0,
+ require => [Package['apache2'], Package['subversion']],
+ }
+
+ file { '/home/vagrant/kateglo':
+ ensure => 'directory',
+ recurse => inf,
+ group => 'www-data',
+ owner => 'www-data',
+ require => [Exec["checkout kateglo"]]
+ }
+
+
+ file { '/home/vagrant/kateglo/cache':
+ ensure => 'directory',
+ group => 'www-data',
+ owner => 'www-data',
+ require => [Exec["checkout kateglo"]]
}

exec { 'curl -s http://getcomposer.org/installer | php' :
cwd => '/home/vagrant/kateglo',
- user => 'vagrant',
- group => 'vagrant',
+ user => 'www-data',
+ group => 'www-data',
+ timeout => 0,
creates => '/home/vagrant/kateglo/composer.phar',
- require => [Package['curl'],Exec['svn co
https://kateglo.googlecode.com/svn/branches/kateglox .']],
+ logoutput => true,
+ require => [Package['curl'],Exec["checkout kateglo"]],
}

exec { 'php composer.phar install' :
cwd => '/home/vagrant/kateglo',
- user => 'vagrant',
- group => 'vagrant',
creates => '/home/vagrant/kateglo/vendor',
+ user => "root",
+ group => "root",
+ timeout => 0,
+ logoutput => true,
require => [Package['php5'],Exec['curl -s
http://getcomposer.org/installer | php']],
notify => Exec["apache2ctl graceful"],
}
+
+ exec { "create kateglo db":
+ unless => "mysql -u root kateglox",
+ command => "mysql -u root -e \"create database kateglox; grant all
on kateglox.* to root@% ;\"",
+ group => "root",
+ user => "root",
+ require => [Service["mysql"], Package["mysql-server"]],
+ }
+
+ file { "/home/vagrant/kateglox.sql":
+ ensure => present,
+ source => "puppet:///modules/kateglo/kateglox.sql",
+ require => Exec["create kateglo db"],
+ notify => Exec["import kateglo dump"],
+ }
+
+ exec { "import kateglo dump":
+ refreshonly => true,
+ command => "mysql -u root kateglox < kateglox.sql",
+ cwd => "/home/vagrant/",
+ timeout => 0,
+ require => File["/home/vagrant/kateglox.sql"],
+ subscribe => File["/home/vagrant/kateglox.sql"],
+ }

# ServerAdmin webmaster@localhost
$serverAdmin = 'webm...@kateglo.com'
@@ -68,5 +111,91 @@
notify => Exec["apache2ctl graceful"],
}

+ file { "/home/vagrant/solr/conf/data-config.xml":
+ ensure => present,
+ source => "puppet:///modules/kateglo/data-config.xml",
+ owner => "jetty", group => "jetty",
+ mode => "0644",
+ require => File["/etc/default/jetty"],
+ notify => Service["jetty"],
+ }
+
+ file { "/home/vagrant/solr/conf/elevate.xml":
+ ensure => present,
+ source => "puppet:///modules/kateglo/elevate.xml",
+ owner => "jetty", group => "jetty",
+ mode => "0644",
+ require => File["/etc/default/jetty"],
+ notify => Service["jetty"],
+ }
+
+ file { "/home/vagrant/solr/conf/protwords.txt":
+ ensure => present,
+ source => "puppet:///modules/kateglo/protwords.txt",
+ owner => "jetty", group => "jetty",
+ mode => "0644",
+ require => File["/etc/default/jetty"],
+ notify => Service["jetty"],
+ }
+
+ file { "/home/vagrant/solr/conf/schema.xml":
+ ensure => present,
+ source => "puppet:///modules/kateglo/schema.xml",
+ owner => "jetty", group => "jetty",
+ mode => "0644",
+ require => File["/etc/default/jetty"],
+ notify => Service["jetty"],
+ }
+
+ file { "/home/vagrant/solr/conf/solrconfig.xml":
+ ensure => present,
+ source => "puppet:///modules/kateglo/solrconfig.xml",
+ owner => "jetty", group => "jetty",
+ mode => "0644",
+ require => File["/etc/default/jetty"],
+ notify => Service["jetty"],
+ }
+
+ file { "/home/vagrant/solr/conf/spellings.txt":
+ ensure => present,
+ source => "puppet:///modules/kateglo/spellings.txt",
+ owner => "jetty", group => "jetty",
+ mode => "0644",
+ require => File["/etc/default/jetty"],
+ notify => Service["jetty"],
+ }
+
+ file { "/home/vagrant/solr/conf/stopwords.txt":
+ ensure => present,
+ source => "puppet:///modules/kateglo/stopwords.txt",
+ owner => "jetty", group => "jetty",
+ mode => "0644",
+ require => File["/etc/default/jetty"],
+ notify => Service["jetty"],
+ }
+
+ file { "/home/vagrant/solr/conf/synonyms.txt":
+ ensure => present,
+ source => "puppet:///modules/kateglo/synonyms.txt",
+ owner => "jetty", group => "jetty",
+ mode => "0644",
+ require => File["/etc/default/jetty"],
+ notify => Service["jetty"],
+ }
+
+ #exec { "solr full import":
+ # command => "curl
http://127.0.0.1:8080/solr/dataimport?command=full-import",
+ # refreshonly => true,
+ # owner => "jetty", group => "jetty",
+ # subscribe => [File["/home/vagrant/solr/conf/synonyms.txt"],
File["/home/vagrant/solr/conf/stopwords.txt"],
+ # File["/home/vagrant/solr/conf/spellings.txt"],
File["/home/vagrant/solr/conf/solrconfig.xml"],
+ # File["/home/vagrant/solr/conf/schema.xml"],
File["/home/vagrant/solr/conf/protwords.txt"],
+ # File["/home/vagrant/solr/conf/elevate.xml"],
File["/home/vagrant/solr/conf/data-config.xml"]],
+ # require => [File["/home/vagrant/solr/conf/synonyms.txt"],
File["/home/vagrant/solr/conf/stopwords.txt"],
+ # File["/home/vagrant/solr/conf/spellings.txt"],
File["/home/vagrant/solr/conf/solrconfig.xml"],
+ # File["/home/vagrant/solr/conf/schema.xml"],
File["/home/vagrant/solr/conf/protwords.txt"],
+ # File["/home/vagrant/solr/conf/elevate.xml"],
File["/home/vagrant/solr/conf/data-config.xml"], Exec["import kateglo
dump"]],
+ #
+ #}

}
=======================================
--- /branches/kateglox/vagrant/puppet/modules/mysql/manifests/init.pp Tue
Jul 3 11:55:45 2012
+++ /branches/kateglox/vagrant/puppet/modules/mysql/manifests/init.pp Sat
Jul 21 04:14:51 2012
@@ -1,13 +1,22 @@
class mysql {

- package { "mysql-server":
- ensure => present,
- require => Exec["apt-get update"]
- }
-
- service { "mysql":
- ensure => running,
- require => Package["mysql-server"],
- }
-
-}
+ package { "mysql-server":
+ ensure => present,
+ require => Exec["apt-get update"]
+ }
+
+ service { "mysql":
+ ensure => running,
+ require => File["/etc/mysql/my.cnf"],
+ }
+
+ file { "/etc/mysql/my.cnf":
+ ensure => present,
+ group => "root",
+ owner => "root",
+ mode => "0644",
+ source => "puppet:///modules/mysql/my.cnf",
+ require => Package["mysql-server"],
+ notify => Service["mysql"],
+ }
+}
=======================================
--- /branches/kateglox/vagrant/puppet/modules/php/manifests/init.pp Mon Jul
16 15:08:20 2012
+++ /branches/kateglox/vagrant/puppet/modules/php/manifests/init.pp Sat Jul
21 04:14:51 2012
@@ -30,12 +30,14 @@

exec { "pear install pear.phpunit.de/PHP_CodeCoverage":
require => Exec["pear clear-cache"],
- creates => "/usr/share/php/PHP/CodeCoverage"
+ creates => "/usr/share/php/PHP/CodeCoverage",
+ timeout => 0,
}

exec { "pear install pear.phpunit.de/PHPUnit":
require => Exec["pear install
pear.phpunit.de/PHP_CodeCoverage"],
- creates => "/usr/share/php/PHPUnit"
+ creates => "/usr/share/php/PHPUnit",
+ timeout => 0,
}

exec { "pecl install apc":
=======================================
--- /branches/kateglox/vagrant/puppet/modules/solr/manifests/init.pp Mon
Jul 16 01:09:42 2012
+++ /branches/kateglox/vagrant/puppet/modules/solr/manifests/init.pp Sat
Jul 21 04:14:51 2012
@@ -17,18 +17,44 @@
ensure => running,
subscribe => [File['/etc/default/jetty']],
}
+
+ $mysqlConnector = 'mysql-connector-java-5.1.21'
+
+ exec { "mysql connector" :
+ cwd => "/home/vagrant/downloads/",
+ command => "wget
http://ftp.dc.aleron.net/pub/mysql/Connector-J/${mysqlConnector}.tar.gz",
+ unless => "test -f /home/vagrant/downloads/${mysqlConnector}.tar.gz",
+ timeout => 0,
+ require => [Package["jetty"], Package["mysql-server"],
File["/home/vagrant/downloads"]]
+ }
+
+ exec { "mysql connector extract":
+ cwd => "/home/vagrant/downloads",
+ command => "tar -xvzf
/home/vagrant/downloads/${mysqlConnector}.tar.gz",
+ unless => "test -d /home/vagrant/downloads/${mysqlConnector}",
+ require => [ Exec["mysql connector"] ],
+ }
+
+ exec {"mysql connector link library":
+ cwd => "/home/vagrant/downloads/${mysqlConnector}/",
+ command => "ln -s ${mysqlConnector}-bin.jar /usr/share/jetty/lib/",
+ unless => "test -h /usr/share/jetty/lib/${mysqlConnector}-bin.jar",
+ require => [Exec["mysql connector extract"]],
+ }

$solrPackage = 'apache-solr-3.6.0'

exec {"solr wget":
- command => "/usr/bin/wget
http://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.apache.org/dist/lucene/solr/3.6.0/${solrPackage}.tgz
-O /home/vagrant/downloads/${solrPackage}.tgz",
+ cwd => "/home/vagrant/downloads",
+ command => "wget
http://mirror.softaculous.com/apache/lucene/solr/3.6.0/${solrPackage}.tgz",
unless => "test -f /home/vagrant/downloads/${solrPackage}.tgz",
- require => [ Package["jetty"] ],
+ timeout => 0,
+ require => [ Package["jetty"], File["/home/vagrant/downloads"] ],
}

exec {"solr extract":
cwd => "/home/vagrant/downloads",
- command => "/bin/tar xvzf
/home/vagrant/downloads/${solrPackage}.tgz",
+ command => "tar -xvzf /home/vagrant/downloads/${solrPackage}.tgz",
unless => "test -d /home/vagrant/downloads/${solrPackage}",
require => [ Package["jetty"], Exec["solr wget"] ],
}
@@ -42,7 +68,7 @@

file { "/home/vagrant/solr":
ensure => directory,
- recurse => true,
+ recurse => inf,
owner => "jetty",
group => "jetty",
require => Exec["solr move"]
@@ -85,5 +111,12 @@
require => Exec['solr rename'],
ensure => 'present',
}
+
+ exec {"mysql connector copy library":
+ cwd => "/home/vagrant/downloads/${mysqlConnector}/",
+ command => "cp ${mysqlConnector}-bin.jar /home/vagrant/solr/dist/",
+ unless => "test -f
/home/vagrant/solr/dist/${mysqlConnector}-bin.jar",
+ require => [Exec["mysql connector extract"], Exec["solr copy
war"]],
+ }

}
Reply all
Reply to author
Forward
0 new messages