first commit
此提交包含在:
+18412
檔案差異因為檔案過大而無法顯示
載入差異
@@ -0,0 +1,226 @@
|
|||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed 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.
|
||||||
|
|
||||||
|
==========================================================================
|
||||||
|
The following license applies to the JQuery JavaScript library
|
||||||
|
--------------------------------------------------------------------------
|
||||||
|
Copyright (c) 2010 John Resig, http://jquery.com/
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
檔案差異因為檔案過大而無法顯示
載入差異
@@ -0,0 +1,575 @@
|
|||||||
|
==============================================================
|
||||||
|
Apache Solr
|
||||||
|
Copyright 2006-2019 The Apache Software Foundation
|
||||||
|
==============================================================
|
||||||
|
|
||||||
|
This product includes software developed at
|
||||||
|
The Apache Software Foundation (http://www.apache.org/).
|
||||||
|
|
||||||
|
Includes software from other Apache Software Foundation projects,
|
||||||
|
including, but not limited to:
|
||||||
|
- Apache Lucene Java
|
||||||
|
- Apache Commons
|
||||||
|
- Apache Blur
|
||||||
|
- Apache Hadoop
|
||||||
|
|
||||||
|
This product includes code forked from the Java-HLL library.
|
||||||
|
Copyright (c) 2013 Aggregate Knowledge, Inc., https://github.com/aggregateknowledge/java-hll/
|
||||||
|
|
||||||
|
This product includes the JQuery JavaScript library created by John Resig.
|
||||||
|
Copyright (c) 2010 John Resig, http://jquery.com/
|
||||||
|
|
||||||
|
This product includes the D3.js JavaScript library created by Michael Bostock.
|
||||||
|
Copyright (c) 2012, Michael Bostock, https://github.com/mbostock/d3
|
||||||
|
|
||||||
|
This product includes the highlight.js Javascript library created by Ivan Sagalaev
|
||||||
|
Copyright (c) 2006, Ivan Sagalaev, https://github.com/isagalaev/highlight.js
|
||||||
|
|
||||||
|
This product includes the Chosen Javascript library created by Patrick Filler
|
||||||
|
Copyright (c) 2011-2014 by Harvest, https://github.com/harvesthq/chosen
|
||||||
|
|
||||||
|
This product includes jquery.blockUI.js Javascript library created by Mike Alsup
|
||||||
|
Copyright (c) 2007-2014 M. Alsup https://github.com/malsup/blockui/
|
||||||
|
|
||||||
|
This product includes jquery.cookie.js Javascript library created by Klaus Hartl
|
||||||
|
Copyright (c) 2013-2014 Klaus Hartl, https://github.com/carhartl/jquery-cookie
|
||||||
|
|
||||||
|
This product includes jquery.form Javascript library created by Mike Alsup
|
||||||
|
Copyright 2006-2014 (c) M. Alsup, https://github.com/malsup/form/
|
||||||
|
|
||||||
|
This product includes the jquery.jstree.js Javascript library created by Ivan Bozhanov
|
||||||
|
Copyright (c) 2013-2014 Ivan Bozhanov, https://github.com/vakata/jstree
|
||||||
|
|
||||||
|
This product includes jquery.timeago.js Javascript library by Ryan McGeary
|
||||||
|
Copyright (c) 2008-2014, Ryan McGeary, https://github.com/rmm5t/jquery-timeago
|
||||||
|
|
||||||
|
This product includes require.js Javascript library created by James Burke
|
||||||
|
Copyright (C) 2010-2014 James Burke, https://github.com/jrburke/requirejs
|
||||||
|
|
||||||
|
This product includes angular-utf8-base64.js Javascript library created by Andrey Bezyazychniy
|
||||||
|
Copyright (c) 2014 Andrey Bezyazychniy, https://github.com/stranger82/angular-utf8-base64
|
||||||
|
|
||||||
|
This product includes code copied and modified from the www-authenticate Javascript library
|
||||||
|
Copyright (c) 2013 Randy McLaughlin, MIT-license, https://github.com/randymized/www-authenticate
|
||||||
|
|
||||||
|
This product includes fugue icons created by Yusuke Kamiyamane
|
||||||
|
Copyright (C) 2013-2014 Yusuke Kamiyamane, https://github.com/yusukekamiyamane/fugue-icons
|
||||||
|
|
||||||
|
Jackcess: http://jackcess.sourceforge.net/
|
||||||
|
Copyright (C) 2011-2014 James Ahlborn
|
||||||
|
|
||||||
|
JavaMail: https://java.net/projects/javamail/
|
||||||
|
License: Common Development and Distribution License (CDDL) v1.1 (https://glassfish.java.net/public/CDDL+GPL_1_1.html)
|
||||||
|
|
||||||
|
JavaBeans Activation Framework (JAF): http://java.sun.com/products/javabeans/jaf/index.jsp
|
||||||
|
License: Common Development and Distribution License (CDDL) v1.0 (https://glassfish.dev.java.net/public/CDDLv1.0.html)
|
||||||
|
|
||||||
|
HSQL Database (HSQLDB): http://hsqldb.org/
|
||||||
|
License: http://hsqldb.org/web/hsqlLicense.html
|
||||||
|
|
||||||
|
Jersey Core: https://jersey.java.net/
|
||||||
|
License: Common Development and Distribution License (CDDL) v1.0 (https://glassfish.dev.java.net/public/CDDLv1.0.html)
|
||||||
|
|
||||||
|
The HdfsDirectory and BlockDirectory were derived from
|
||||||
|
the Apache Blur incubating project and are Apache License 2.0.
|
||||||
|
|
||||||
|
ASM (Java bytecode manipulation and analysis framework): http://asm.ow2.org/
|
||||||
|
Copyright (c) 2000-2005 INRIA, France Telecom
|
||||||
|
|
||||||
|
This project includes portions of the Jekyll Documentation Theme
|
||||||
|
Copyright (c) 2016 Tom Johnson
|
||||||
|
License: MIT https://github.com/tomjohnson1492/documentation-theme-jekyll/blob/gh-pages/licenses/LICENSE
|
||||||
|
|
||||||
|
This project includes templates from the Asciidoctor HTML5 backend converter
|
||||||
|
Copyright (c) 2014-2018 Jakub Jirutka
|
||||||
|
License: MIT https://github.com/jirutka/asciidoctor-html5s/blob/master/LICENSE
|
||||||
|
|
||||||
|
This project includes the Navgoco JQuery plugin
|
||||||
|
Copyright (c) 2013 Christopher Tsoulloftas, http://www.komposta.net
|
||||||
|
License: BSD https://github.com/tefra/navgoco/blob/master/LICENSE-BSD
|
||||||
|
|
||||||
|
=========================================================================
|
||||||
|
== Antlr2 Notice ==
|
||||||
|
=========================================================================
|
||||||
|
|
||||||
|
|
||||||
|
SOFTWARE RIGHTS
|
||||||
|
|
||||||
|
ANTLR 1989-2006 Developed by Terence Parr
|
||||||
|
Partially supported by University of San Francisco & jGuru.com
|
||||||
|
|
||||||
|
We reserve no legal rights to the ANTLR--it is fully in the
|
||||||
|
public domain. An individual or company may do whatever
|
||||||
|
they wish with source code distributed with ANTLR or the
|
||||||
|
code generated by ANTLR, including the incorporation of
|
||||||
|
ANTLR, or its output, into commerical software.
|
||||||
|
|
||||||
|
We encourage users to develop software with ANTLR. However,
|
||||||
|
we do ask that credit is given to us for developing
|
||||||
|
ANTLR. By "credit", we mean that if you use ANTLR or
|
||||||
|
incorporate any source code into one of your programs
|
||||||
|
(commercial product, research project, or otherwise) that
|
||||||
|
you acknowledge this fact somewhere in the documentation,
|
||||||
|
research report, etc... If you like ANTLR and have
|
||||||
|
developed a nice tool with the output, please mention that
|
||||||
|
you developed it using ANTLR. In addition, we ask that the
|
||||||
|
headers remain intact in our source code. As long as these
|
||||||
|
guidelines are kept, we expect to continue enhancing this
|
||||||
|
system and expect to make other tools available as they are
|
||||||
|
completed.
|
||||||
|
|
||||||
|
The primary ANTLR guy:
|
||||||
|
|
||||||
|
Terence Parr
|
||||||
|
parrt@cs.usfca.edu
|
||||||
|
parrt@antlr.org
|
||||||
|
|
||||||
|
=========================================================================
|
||||||
|
== Apache Lucene Notice ==
|
||||||
|
=========================================================================
|
||||||
|
|
||||||
|
Apache Lucene
|
||||||
|
Copyright 2001-2019 The Apache Software Foundation
|
||||||
|
|
||||||
|
This product includes software developed at
|
||||||
|
The Apache Software Foundation (http://www.apache.org/).
|
||||||
|
|
||||||
|
Includes software from other Apache Software Foundation projects,
|
||||||
|
including, but not limited to:
|
||||||
|
- Apache Ant
|
||||||
|
- Apache Jakarta Regexp
|
||||||
|
- Apache Commons
|
||||||
|
- Apache Xerces
|
||||||
|
|
||||||
|
ICU4J, (under analysis/icu) is licensed under an MIT styles license
|
||||||
|
and Copyright (c) 1995-2008 International Business Machines Corporation and others
|
||||||
|
|
||||||
|
Some data files (under analysis/icu/src/data) are derived from Unicode data such
|
||||||
|
as the Unicode Character Database. See http://unicode.org/copyright.html for more
|
||||||
|
details.
|
||||||
|
|
||||||
|
Brics Automaton (under core/src/java/org/apache/lucene/util/automaton) is
|
||||||
|
BSD-licensed, created by Anders Møller. See http://www.brics.dk/automaton/
|
||||||
|
|
||||||
|
The levenshtein automata tables (under core/src/java/org/apache/lucene/util/automaton) were
|
||||||
|
automatically generated with the moman/finenight FSA library, created by
|
||||||
|
Jean-Philippe Barrette-LaPierre. This library is available under an MIT license,
|
||||||
|
see http://sites.google.com/site/rrettesite/moman and
|
||||||
|
http://bitbucket.org/jpbarrette/moman/overview/
|
||||||
|
|
||||||
|
The class org.apache.lucene.util.WeakIdentityMap was derived from
|
||||||
|
the Apache CXF project and is Apache License 2.0.
|
||||||
|
|
||||||
|
The Google Code Prettify is Apache License 2.0.
|
||||||
|
See http://code.google.com/p/google-code-prettify/
|
||||||
|
|
||||||
|
JUnit (junit-4.10) is licensed under the Common Public License v. 1.0
|
||||||
|
See http://junit.sourceforge.net/cpl-v10.html
|
||||||
|
|
||||||
|
This product includes code (JaspellTernarySearchTrie) from Java Spelling Checkin
|
||||||
|
g Package (jaspell): http://jaspell.sourceforge.net/
|
||||||
|
License: The BSD License (http://www.opensource.org/licenses/bsd-license.php)
|
||||||
|
|
||||||
|
The snowball stemmers in
|
||||||
|
analysis/common/src/java/net/sf/snowball
|
||||||
|
were developed by Martin Porter and Richard Boulton.
|
||||||
|
The snowball stopword lists in
|
||||||
|
analysis/common/src/resources/org/apache/lucene/analysis/snowball
|
||||||
|
were developed by Martin Porter and Richard Boulton.
|
||||||
|
The full snowball package is available from
|
||||||
|
http://snowball.tartarus.org/
|
||||||
|
|
||||||
|
The KStem stemmer in
|
||||||
|
analysis/common/src/org/apache/lucene/analysis/en
|
||||||
|
was developed by Bob Krovetz and Sergio Guzman-Lara (CIIR-UMass Amherst)
|
||||||
|
under the BSD-license.
|
||||||
|
|
||||||
|
The Arabic,Persian,Romanian,Bulgarian, Hindi and Bengali analyzers (common) come with a default
|
||||||
|
stopword list that is BSD-licensed created by Jacques Savoy. These files reside in:
|
||||||
|
analysis/common/src/resources/org/apache/lucene/analysis/ar/stopwords.txt,
|
||||||
|
analysis/common/src/resources/org/apache/lucene/analysis/fa/stopwords.txt,
|
||||||
|
analysis/common/src/resources/org/apache/lucene/analysis/ro/stopwords.txt,
|
||||||
|
analysis/common/src/resources/org/apache/lucene/analysis/bg/stopwords.txt,
|
||||||
|
analysis/common/src/resources/org/apache/lucene/analysis/hi/stopwords.txt,
|
||||||
|
analysis/common/src/resources/org/apache/lucene/analysis/bn/stopwords.txt
|
||||||
|
See http://members.unine.ch/jacques.savoy/clef/index.html.
|
||||||
|
|
||||||
|
The German,Spanish,Finnish,French,Hungarian,Italian,Portuguese,Russian and Swedish light stemmers
|
||||||
|
(common) are based on BSD-licensed reference implementations created by Jacques Savoy and
|
||||||
|
Ljiljana Dolamic. These files reside in:
|
||||||
|
analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java
|
||||||
|
analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java
|
||||||
|
analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java
|
||||||
|
analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java
|
||||||
|
analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java
|
||||||
|
analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java
|
||||||
|
analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java
|
||||||
|
analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java
|
||||||
|
analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java
|
||||||
|
analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java
|
||||||
|
analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java
|
||||||
|
|
||||||
|
The Stempel analyzer (stempel) includes BSD-licensed software developed
|
||||||
|
by the Egothor project http://egothor.sf.net/, created by Leo Galambos, Martin Kvapil,
|
||||||
|
and Edmond Nolan.
|
||||||
|
|
||||||
|
The Polish analyzer (stempel) comes with a default
|
||||||
|
stopword list that is BSD-licensed created by the Carrot2 project. The file resides
|
||||||
|
in stempel/src/resources/org/apache/lucene/analysis/pl/stopwords.txt.
|
||||||
|
See http://project.carrot2.org/license.html.
|
||||||
|
|
||||||
|
The SmartChineseAnalyzer source code (smartcn) was
|
||||||
|
provided by Xiaoping Gao and copyright 2009 by www.imdict.net.
|
||||||
|
|
||||||
|
WordBreakTestUnicode_*.java (under modules/analysis/common/src/test/)
|
||||||
|
is derived from Unicode data such as the Unicode Character Database.
|
||||||
|
See http://unicode.org/copyright.html for more details.
|
||||||
|
|
||||||
|
The Morfologik analyzer (morfologik) includes BSD-licensed software
|
||||||
|
developed by Dawid Weiss and Marcin Miłkowski (http://morfologik.blogspot.com/).
|
||||||
|
|
||||||
|
Morfologik uses data from Polish ispell/myspell dictionary
|
||||||
|
(http://www.sjp.pl/slownik/en/) licenced on the terms of (inter alia)
|
||||||
|
LGPL and Creative Commons ShareAlike.
|
||||||
|
|
||||||
|
Morfologic includes data from BSD-licensed dictionary of Polish (SGJP)
|
||||||
|
(http://sgjp.pl/morfeusz/)
|
||||||
|
|
||||||
|
Servlet-api.jar and javax.servlet-*.jar are under the CDDL license, the original
|
||||||
|
source code for this can be found at http://www.eclipse.org/jetty/downloads.php
|
||||||
|
|
||||||
|
===========================================================================
|
||||||
|
Kuromoji Japanese Morphological Analyzer - Apache Lucene Integration
|
||||||
|
===========================================================================
|
||||||
|
|
||||||
|
This software includes a binary and/or source version of data from
|
||||||
|
|
||||||
|
mecab-ipadic-2.7.0-20070801
|
||||||
|
|
||||||
|
which can be obtained from
|
||||||
|
|
||||||
|
http://atilika.com/releases/mecab-ipadic/mecab-ipadic-2.7.0-20070801.tar.gz
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
http://jaist.dl.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz
|
||||||
|
|
||||||
|
===========================================================================
|
||||||
|
mecab-ipadic-2.7.0-20070801 Notice
|
||||||
|
===========================================================================
|
||||||
|
|
||||||
|
Nara Institute of Science and Technology (NAIST),
|
||||||
|
the copyright holders, disclaims all warranties with regard to this
|
||||||
|
software, including all implied warranties of merchantability and
|
||||||
|
fitness, in no event shall NAIST be liable for
|
||||||
|
any special, indirect or consequential damages or any damages
|
||||||
|
whatsoever resulting from loss of use, data or profits, whether in an
|
||||||
|
action of contract, negligence or other tortuous action, arising out
|
||||||
|
of or in connection with the use or performance of this software.
|
||||||
|
|
||||||
|
A large portion of the dictionary entries
|
||||||
|
originate from ICOT Free Software. The following conditions for ICOT
|
||||||
|
Free Software applies to the current dictionary as well.
|
||||||
|
|
||||||
|
Each User may also freely distribute the Program, whether in its
|
||||||
|
original form or modified, to any third party or parties, PROVIDED
|
||||||
|
that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
|
||||||
|
on, or be attached to, the Program, which is distributed substantially
|
||||||
|
in the same form as set out herein and that such intended
|
||||||
|
distribution, if actually made, will neither violate or otherwise
|
||||||
|
contravene any of the laws and regulations of the countries having
|
||||||
|
jurisdiction over the User or the intended distribution itself.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
The program was produced on an experimental basis in the course of the
|
||||||
|
research and development conducted during the project and is provided
|
||||||
|
to users as so produced on an experimental basis. Accordingly, the
|
||||||
|
program is provided without any warranty whatsoever, whether express,
|
||||||
|
implied, statutory or otherwise. The term "warranty" used herein
|
||||||
|
includes, but is not limited to, any warranty of the quality,
|
||||||
|
performance, merchantability and fitness for a particular purpose of
|
||||||
|
the program and the nonexistence of any infringement or violation of
|
||||||
|
any right of any third party.
|
||||||
|
|
||||||
|
Each user of the program will agree and understand, and be deemed to
|
||||||
|
have agreed and understood, that there is no warranty whatsoever for
|
||||||
|
the program and, accordingly, the entire risk arising from or
|
||||||
|
otherwise connected with the program is assumed by the user.
|
||||||
|
|
||||||
|
Therefore, neither ICOT, the copyright holder, or any other
|
||||||
|
organization that participated in or was otherwise related to the
|
||||||
|
development of the program and their respective officials, directors,
|
||||||
|
officers and other employees shall be held liable for any and all
|
||||||
|
damages, including, without limitation, general, special, incidental
|
||||||
|
and consequential damages, arising out of or otherwise in connection
|
||||||
|
with the use or inability to use the program or any product, material
|
||||||
|
or result produced or otherwise obtained by using the program,
|
||||||
|
regardless of whether they have been advised of, or otherwise had
|
||||||
|
knowledge of, the possibility of such damages at any time during the
|
||||||
|
project or thereafter. Each user will be deemed to have agreed to the
|
||||||
|
foregoing by his or her commencement of use of the program. The term
|
||||||
|
"use" as used herein includes, but is not limited to, the use,
|
||||||
|
modification, copying and distribution of the program and the
|
||||||
|
production of secondary products from the program.
|
||||||
|
|
||||||
|
In the case where the program, whether in its original form or
|
||||||
|
modified, was distributed or delivered to or received by a user from
|
||||||
|
any person, organization or entity other than ICOT, unless it makes or
|
||||||
|
grants independently of ICOT any specific warranty to the user in
|
||||||
|
writing, such person, organization or entity, will also be exempted
|
||||||
|
from and not be held liable to the user for any such damages as noted
|
||||||
|
above as far as the program is concerned.
|
||||||
|
|
||||||
|
===========================================================================
|
||||||
|
Nori Korean Morphological Analyzer - Apache Lucene Integration
|
||||||
|
===========================================================================
|
||||||
|
|
||||||
|
This software includes a binary and/or source version of data from
|
||||||
|
|
||||||
|
mecab-ko-dic-2.0.3-20170922
|
||||||
|
|
||||||
|
which can be obtained from
|
||||||
|
|
||||||
|
https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/mecab-ko-dic-2.0.3-20170922.tar.gz
|
||||||
|
---
|
||||||
|
|
||||||
|
This product includes/uses software, Woodstox (http://woodstox.codehaus.org),
|
||||||
|
developed by Codehaus (http://www.codehaus.org/)
|
||||||
|
License: The Apache Software License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
|
||||||
|
=========================================================================
|
||||||
|
== Woodstox Notice ==
|
||||||
|
=========================================================================
|
||||||
|
This product currently only contains code developed by authors
|
||||||
|
of specific components, as identified by the source code files.
|
||||||
|
|
||||||
|
Since product implements StAX API, it has dependencies to StAX API
|
||||||
|
classes.
|
||||||
|
|
||||||
|
For additional credits (generally to people who reported problems)
|
||||||
|
see CREDITS file.
|
||||||
|
---
|
||||||
|
|
||||||
|
This product includes software developed by the Eclipse Foundation
|
||||||
|
(specifically, Jetty, the bundled servlet container in example),
|
||||||
|
available under the Apache 2 License.
|
||||||
|
|
||||||
|
Servlet-api.jar is under the CDDL license, the original source
|
||||||
|
code for this can be found at http://www.eclipse.org/jetty/downloads.php
|
||||||
|
|
||||||
|
=========================================================================
|
||||||
|
== SLF4J Notice -- http://www.slf4j.org/license.html ==
|
||||||
|
=========================================================================
|
||||||
|
|
||||||
|
Copyright (c) 2004-2008 QOS.ch
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
=========================================================================
|
||||||
|
== Apache Tika Notices ==
|
||||||
|
=========================================================================
|
||||||
|
|
||||||
|
The following notices apply to contrib/extraction:
|
||||||
|
|
||||||
|
This product includes software developed by the following copyright owners:
|
||||||
|
|
||||||
|
Copyright (c) 2000-2006 The Legion Of The Bouncy Castle
|
||||||
|
(http://www.bouncycastle.org)
|
||||||
|
|
||||||
|
Copyright (c) 2003-2005, www.pdfbox.org
|
||||||
|
|
||||||
|
Copyright (c) 2003-2005, www.fontbox.org
|
||||||
|
|
||||||
|
Copyright (c) 1995-2005 International Business Machines Corporation and others
|
||||||
|
|
||||||
|
Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
|
||||||
|
|
||||||
|
Copyright 2004 Sun Microsystems, Inc. (Rome JAR)
|
||||||
|
|
||||||
|
Copyright 2002-2008 by John Cowan (TagSoup -- http://ccil.org/~cowan/XML/tagsoup/)
|
||||||
|
|
||||||
|
Copyright (C) 1994-2007 by the Xiph.org Foundation, http://www.xiph.org/ (OggVorbis)
|
||||||
|
|
||||||
|
Copyright 2012 Kohei Taketa juniversalchardet (http://code.google.com/p/juniversalchardet/)
|
||||||
|
|
||||||
|
Lasse Collin and others, XZ for Java (http://tukaani.org/xz/java.html)
|
||||||
|
|
||||||
|
java-libpst is a pure java library for the reading of Outlook PST and OST files.
|
||||||
|
https://github.com/rjohnsondev/java-libpst
|
||||||
|
|
||||||
|
JMatIO is a JAVA library to read/write/manipulate with Matlab binary MAT-files.
|
||||||
|
http://www.sourceforge.net/projects/jmatio
|
||||||
|
|
||||||
|
=========================================================================
|
||||||
|
== Language Detection Notices ==
|
||||||
|
=========================================================================
|
||||||
|
|
||||||
|
The following notices apply to contrib/langid:
|
||||||
|
|
||||||
|
This product includes software developed by Cybozu Labs, Inc.
|
||||||
|
(c)2010 All rights reserved by Cybozu Labs, Inc.
|
||||||
|
http://code.google.com/p/language-detection/
|
||||||
|
|
||||||
|
This product includes software developed by the Jsonic project:
|
||||||
|
http://sourceforge.jp/projects/jsonic/
|
||||||
|
|
||||||
|
=========================================================================
|
||||||
|
== Carrot2 Notice ==
|
||||||
|
=========================================================================
|
||||||
|
Copyright (C) 2002-2010, Dawid Weiss, Stanislaw Osinski.
|
||||||
|
Portions (C) Contributors listed in "carrot2.CONTRIBUTORS" file.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
This product includes software developed by the Carrot2 Project.
|
||||||
|
|
||||||
|
See http://project.carrot2.org/
|
||||||
|
|
||||||
|
=========================================================================
|
||||||
|
== Guava Notice ==
|
||||||
|
=========================================================================
|
||||||
|
|
||||||
|
Copyright (C) 2009 Google Inc.
|
||||||
|
|
||||||
|
This product includes software developed by the Google Guava project.
|
||||||
|
|
||||||
|
See http://code.google.com/p/guava-libraries/
|
||||||
|
|
||||||
|
=========================================================================
|
||||||
|
== Prettify Notice ==
|
||||||
|
=========================================================================
|
||||||
|
|
||||||
|
Copyright (C) 2009 Google Inc.
|
||||||
|
|
||||||
|
This product includes software developed by the Google Prettify project.
|
||||||
|
|
||||||
|
See http://code.google.com/p/google-code-prettify/
|
||||||
|
|
||||||
|
=========================================================================
|
||||||
|
== Jackson Notice ==
|
||||||
|
=========================================================================
|
||||||
|
Copyright 2010 FasterXML, LLC
|
||||||
|
|
||||||
|
This product includes software developed by the Jackson project.
|
||||||
|
|
||||||
|
See http://jackson.codehaus.org/
|
||||||
|
|
||||||
|
=========================================================================
|
||||||
|
== HSQLDB Notice ==
|
||||||
|
=========================================================================
|
||||||
|
|
||||||
|
For content, code, and products originally developed by Thomas Mueller and the Hypersonic SQL Group:
|
||||||
|
|
||||||
|
Copyright (c) 1995-2000 by the Hypersonic SQL Group.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
Neither the name of the Hypersonic SQL Group nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived from this
|
||||||
|
software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE HYPERSONIC SQL GROUP,
|
||||||
|
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
This software consists of voluntary contributions made by many individuals on behalf of the
|
||||||
|
Hypersonic SQL Group.
|
||||||
|
|
||||||
|
For work added by the HSQL Development Group (a.k.a. hsqldb_lic.txt):
|
||||||
|
|
||||||
|
Copyright (c) 2001-2005, The HSQL Development Group
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
Neither the name of the HSQL Development Group nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived from this
|
||||||
|
software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
|
||||||
|
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
=========================================================================
|
||||||
|
== Restlet Notice ==
|
||||||
|
=========================================================================
|
||||||
|
|
||||||
|
Copyright (C) 2005-2014 Restlet S.A.S.
|
||||||
|
|
||||||
|
Restlet is a registered trademark of Restlet S.A.S.
|
||||||
|
|
||||||
|
This product contains software developed by the Restlet project.
|
||||||
|
|
||||||
|
See http://www.restlet.org/
|
||||||
|
|
||||||
|
=========================================================================
|
||||||
|
== Protocol Buffers Notice ==
|
||||||
|
=========================================================================
|
||||||
|
|
||||||
|
Protocol Buffers - Google's data interchange format
|
||||||
|
Copyright 2008 Google Inc.
|
||||||
|
http://code.google.com/apis/protocolbuffers/
|
||||||
|
|
||||||
|
=========================================================================
|
||||||
|
== SolrTextTagger Notice ==
|
||||||
|
=========================================================================
|
||||||
|
|
||||||
|
The TaggerRequestHandler and related classes in its package came from the
|
||||||
|
OpenSextant Solr Text Tagger,
|
||||||
|
Copyright 2013 The MITRE Corporation. All Rights Reserved.
|
||||||
|
|
||||||
|
This software was produced for the U. S. Government
|
||||||
|
under Contract No. W15P7T-11-C-F600, and is
|
||||||
|
subject to the Rights in Noncommercial Computer Software
|
||||||
|
and Noncommercial Computer Software Documentation
|
||||||
|
Clause 252.227-7014 (JUN 1995)
|
||||||
@@ -0,0 +1,189 @@
|
|||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
Welcome to the Apache Solr project!
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
Solr is the popular, blazing fast open source enterprise search platform
|
||||||
|
from the Apache Lucene project.
|
||||||
|
|
||||||
|
For a complete description of the Solr project, team composition, source
|
||||||
|
code repositories, and other details, please see the Solr web site at
|
||||||
|
http://lucene.apache.org/solr
|
||||||
|
|
||||||
|
|
||||||
|
Getting Started
|
||||||
|
---------------
|
||||||
|
|
||||||
|
To start Solr for the first time after installation, simply do:
|
||||||
|
|
||||||
|
bin/solr start
|
||||||
|
|
||||||
|
This will launch a standalone Solr server in the background of your shell,
|
||||||
|
listening on port 8983. Alternatively, you can launch Solr in "cloud" mode,
|
||||||
|
which allows you to scale out using sharding and replication. To launch Solr
|
||||||
|
in cloud mode, do:
|
||||||
|
|
||||||
|
bin/solr start -cloud
|
||||||
|
|
||||||
|
To see all available options for starting Solr, please do:
|
||||||
|
|
||||||
|
bin/solr start -help
|
||||||
|
|
||||||
|
After starting Solr, create either a core or collection depending on whether
|
||||||
|
Solr is running in standalone (core) or SolrCloud mode (collection) by doing:
|
||||||
|
|
||||||
|
bin/solr create -c <name>
|
||||||
|
|
||||||
|
This will create a collection that uses a data-driven schema which tries to guess
|
||||||
|
the correct field type when you add documents to the index. To see all available
|
||||||
|
options for creating a new collection, execute:
|
||||||
|
|
||||||
|
bin/solr create -help
|
||||||
|
|
||||||
|
After starting Solr, direct your Web browser to the Solr Admin Console at:
|
||||||
|
|
||||||
|
http://localhost:8983/solr/
|
||||||
|
|
||||||
|
When finished with your Solr installation, shut it down by executing:
|
||||||
|
|
||||||
|
bin/solr stop -all
|
||||||
|
|
||||||
|
The `-p PORT` option can also be used to identify the Solr instance to shutdown,
|
||||||
|
where more than one Solr is running on the machine.
|
||||||
|
|
||||||
|
|
||||||
|
Solr Examples
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Solr includes a few examples to help you get started. To run a specific example, do:
|
||||||
|
|
||||||
|
bin/solr -e <EXAMPLE> where <EXAMPLE> is one of:
|
||||||
|
|
||||||
|
cloud : SolrCloud example
|
||||||
|
dih : Data Import Handler (rdbms, mail, atom, tika)
|
||||||
|
schemaless : Schema-less example (schema is inferred from data during indexing)
|
||||||
|
techproducts : Kitchen sink example providing comprehensive examples of Solr features
|
||||||
|
|
||||||
|
For instance, if you want to run the Solr Data Import Handler example, do:
|
||||||
|
|
||||||
|
bin/solr -e dih
|
||||||
|
|
||||||
|
|
||||||
|
Indexing Documents
|
||||||
|
---------------
|
||||||
|
|
||||||
|
To add documents to the index, use bin/post. For example:
|
||||||
|
|
||||||
|
bin/post -c <collection_name> example/exampledocs/*.xml
|
||||||
|
|
||||||
|
For more information about Solr examples please read...
|
||||||
|
|
||||||
|
* example/README.txt
|
||||||
|
For more information about the "Solr Home" and Solr specific configuration
|
||||||
|
* https://lucene.apache.org/solr/guide/solr-tutorial.html
|
||||||
|
For a Solr tutorial
|
||||||
|
* http://lucene.apache.org/solr/resources.html
|
||||||
|
For a list of other tutorials and introductory articles.
|
||||||
|
|
||||||
|
or linked from "docs/index.html" in a binary distribution.
|
||||||
|
|
||||||
|
Also, there are Solr clients for many programming languages, see
|
||||||
|
http://wiki.apache.org/solr/IntegratingSolr
|
||||||
|
|
||||||
|
|
||||||
|
Files included in an Apache Solr binary distribution
|
||||||
|
----------------------------------------------------
|
||||||
|
|
||||||
|
server/
|
||||||
|
A self-contained Solr instance, complete with a sample
|
||||||
|
configuration and documents to index. Please see: bin/solr start -help
|
||||||
|
for more information about starting a Solr server.
|
||||||
|
|
||||||
|
example/
|
||||||
|
Contains example documents and an alternative Solr home
|
||||||
|
directory containing examples of how to use the Data Import Handler,
|
||||||
|
see example/example-DIH/README.txt for more information.
|
||||||
|
|
||||||
|
dist/solr-<component>-XX.jar
|
||||||
|
The Apache Solr libraries. To compile Apache Solr Plugins,
|
||||||
|
one or more of these will be required. The core library is
|
||||||
|
required at a minimum. (see http://wiki.apache.org/solr/SolrPlugins
|
||||||
|
for more information).
|
||||||
|
|
||||||
|
docs/index.html
|
||||||
|
A link to the online version of Apache Solr Javadoc API documentation and Tutorial
|
||||||
|
|
||||||
|
|
||||||
|
Instructions for Building Apache Solr from Source
|
||||||
|
-------------------------------------------------
|
||||||
|
|
||||||
|
1. Download the Java SE 8 JDK (Java Development Kit) or later from http://www.oracle.com/java/
|
||||||
|
You will need the JDK installed, and the $JAVA_HOME/bin (Windows: %JAVA_HOME%\bin)
|
||||||
|
folder included on your command path. To test this, issue a "java -version" command
|
||||||
|
from your shell (command prompt) and verify that the Java version is 1.8 or later.
|
||||||
|
|
||||||
|
2. Download the Apache Ant binary distribution (1.8.2+) from
|
||||||
|
http://ant.apache.org/ You will need Ant installed and the $ANT_HOME/bin (Windows:
|
||||||
|
%ANT_HOME%\bin) folder included on your command path. To test this, issue a
|
||||||
|
"ant -version" command from your shell (command prompt) and verify that Ant is
|
||||||
|
available.
|
||||||
|
|
||||||
|
You will also need to install Apache Ivy binary distribution (2.2.0) from
|
||||||
|
http://ant.apache.org/ivy/ and place ivy-2.2.0.jar file in ~/.ant/lib -- if you skip
|
||||||
|
this step, the Solr build system will offer to do it for you.
|
||||||
|
|
||||||
|
3. Download the Apache Solr distribution, linked from the above web site.
|
||||||
|
Unzip the distribution to a folder of your choice, e.g. C:\solr or ~/solr
|
||||||
|
Alternately, you can obtain a copy of the latest Apache Solr source code
|
||||||
|
directly from the GIT repository:
|
||||||
|
|
||||||
|
http://lucene.apache.org/solr/versioncontrol.html
|
||||||
|
|
||||||
|
4. Navigate to the "solr" folder and issue an "ant" command to see the available options
|
||||||
|
for building, testing, and packaging Solr.
|
||||||
|
|
||||||
|
NOTE:
|
||||||
|
To see Solr in action, you may want to use the "ant server" command to build
|
||||||
|
and package Solr into the server directory. See also server/README.txt.
|
||||||
|
|
||||||
|
|
||||||
|
Export control
|
||||||
|
-------------------------------------------------
|
||||||
|
This distribution includes cryptographic software. The country in
|
||||||
|
which you currently reside may have restrictions on the import,
|
||||||
|
possession, use, and/or re-export to another country, of
|
||||||
|
encryption software. BEFORE using any encryption software, please
|
||||||
|
check your country's laws, regulations and policies concerning the
|
||||||
|
import, possession, or use, and re-export of encryption software, to
|
||||||
|
see if this is permitted. See <http://www.wassenaar.org/> for more
|
||||||
|
information.
|
||||||
|
|
||||||
|
The U.S. Government Department of Commerce, Bureau of Industry and
|
||||||
|
Security (BIS), has classified this software as Export Commodity
|
||||||
|
Control Number (ECCN) 5D002.C.1, which includes information security
|
||||||
|
software using or performing cryptographic functions with asymmetric
|
||||||
|
algorithms. The form and manner of this Apache Software Foundation
|
||||||
|
distribution makes it eligible for export under the License Exception
|
||||||
|
ENC Technology Software Unrestricted (TSU) exception (see the BIS
|
||||||
|
Export Administration Regulations, Section 740.13) for both object
|
||||||
|
code and source code.
|
||||||
|
|
||||||
|
The following provides more details on the included cryptographic
|
||||||
|
software:
|
||||||
|
Apache Solr uses the Apache Tika which uses the Bouncy Castle generic encryption libraries for
|
||||||
|
extracting text content and metadata from encrypted PDF files.
|
||||||
|
See http://www.bouncycastle.org/ for more details on Bouncy Castle.
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: solr
|
||||||
|
# Required-Start: $remote_fs $syslog
|
||||||
|
# Required-Stop: $remote_fs $syslog
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop: 0 1 6
|
||||||
|
# Description: Controls Apache Solr as a Service
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
# Example of a very simple *nix init script that delegates commands to the bin/solr script
|
||||||
|
# Typical usage is to do:
|
||||||
|
#
|
||||||
|
# cp bin/init.d/solr /etc/init.d/solr
|
||||||
|
# chmod 755 /etc/init.d/solr
|
||||||
|
# chown root:root /etc/init.d/solr
|
||||||
|
# update-rc.d solr defaults
|
||||||
|
# update-rc.d solr enable
|
||||||
|
|
||||||
|
# Where you extracted the Solr distribution bundle
|
||||||
|
SOLR_INSTALL_DIR="/opt/solr"
|
||||||
|
|
||||||
|
if [ ! -d "$SOLR_INSTALL_DIR" ]; then
|
||||||
|
echo "$SOLR_INSTALL_DIR not found! Please check the SOLR_INSTALL_DIR setting in your $0 script."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Path to an include file that defines environment specific settings to override default
|
||||||
|
# variables used by the bin/solr script. It's highly recommended to define this script so
|
||||||
|
# that you can keep the Solr binary files separated from live files (pid, logs, index data, etc)
|
||||||
|
# see bin/solr.in.sh for an example
|
||||||
|
SOLR_ENV="/etc/default/solr.in.sh"
|
||||||
|
|
||||||
|
if [ ! -f "$SOLR_ENV" ]; then
|
||||||
|
echo "$SOLR_ENV not found! Please check the SOLR_ENV setting in your $0 script."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Specify the user to run Solr as; if not set, then Solr will run as root.
|
||||||
|
# Running Solr as root is not recommended for production environments
|
||||||
|
RUNAS="solr"
|
||||||
|
|
||||||
|
# verify the specified run as user exists
|
||||||
|
runas_uid="`id -u "$RUNAS"`"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "User $RUNAS not found! Please create the $RUNAS user before running this script."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start|stop|restart|status)
|
||||||
|
SOLR_CMD="$1"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|restart|status}"
|
||||||
|
exit
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -n "$RUNAS" ]; then
|
||||||
|
su -c "SOLR_INCLUDE=\"$SOLR_ENV\" \"$SOLR_INSTALL_DIR/bin/solr\" $SOLR_CMD" - "$RUNAS"
|
||||||
|
else
|
||||||
|
SOLR_INCLUDE="$SOLR_ENV" "$SOLR_INSTALL_DIR/bin/solr" "$SOLR_CMD"
|
||||||
|
fi
|
||||||
@@ -0,0 +1,370 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# 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 [[ $EUID -ne 0 ]]; then
|
||||||
|
echo -e "\nERROR: This script must be run as root\n" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
print_usage() {
|
||||||
|
ERROR_MSG="$1"
|
||||||
|
|
||||||
|
if [ "$ERROR_MSG" != "" ]; then
|
||||||
|
echo -e "\nERROR: $ERROR_MSG\n" 1>&2
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Usage: install_solr_service.sh <path_to_solr_distribution_archive> [OPTIONS]"
|
||||||
|
echo ""
|
||||||
|
echo " The first argument to the script must be a path to a Solr distribution archive, such as solr-5.0.0.tgz"
|
||||||
|
echo " (only .tgz or .zip are supported formats for the archive)"
|
||||||
|
echo ""
|
||||||
|
echo " Supported OPTIONS include:"
|
||||||
|
echo ""
|
||||||
|
echo " -d Directory for live / writable Solr files, such as logs, pid files, and index data; defaults to /var/solr"
|
||||||
|
echo ""
|
||||||
|
echo " -i Directory to extract the Solr installation archive; defaults to /opt/"
|
||||||
|
echo " The specified path must exist prior to using this script."
|
||||||
|
echo ""
|
||||||
|
echo " -p Port Solr should bind to; default is 8983"
|
||||||
|
echo ""
|
||||||
|
echo " -s Service name; defaults to solr"
|
||||||
|
echo ""
|
||||||
|
echo " -u User to own the Solr files and run the Solr process as; defaults to solr"
|
||||||
|
echo " This script will create the specified user account if it does not exist."
|
||||||
|
echo ""
|
||||||
|
echo " -f Upgrade Solr. Overwrite symlink and init script of previous installation."
|
||||||
|
echo ""
|
||||||
|
echo " -n Do not start Solr service after install, and do not abort on missing Java"
|
||||||
|
echo ""
|
||||||
|
echo " NOTE: Must be run as the root user"
|
||||||
|
echo ""
|
||||||
|
} # end print_usage
|
||||||
|
|
||||||
|
print_error() {
|
||||||
|
echo $1
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Locate *NIX distribution by looking for match from various detection strategies
|
||||||
|
# We start with /etc/os-release, as this will also work for Docker containers
|
||||||
|
for command in "grep -E \"^NAME=\" /etc/os-release" \
|
||||||
|
"lsb_release -i" \
|
||||||
|
"cat /proc/version" \
|
||||||
|
"uname -a" ; do
|
||||||
|
distro_string=$(eval $command 2>/dev/null)
|
||||||
|
unset distro
|
||||||
|
if [[ ${distro_string,,} == *"debian"* ]]; then
|
||||||
|
distro=Debian
|
||||||
|
elif [[ ${distro_string,,} == *"red hat"* ]]; then
|
||||||
|
distro=RedHat
|
||||||
|
elif [[ ${distro_string,,} == *"centos"* ]]; then
|
||||||
|
distro=CentOS
|
||||||
|
elif [[ ${distro_string,,} == *"ubuntu"* ]]; then
|
||||||
|
distro=Ubuntu
|
||||||
|
elif [[ ${distro_string,,} == *"suse"* ]]; then
|
||||||
|
distro=SUSE
|
||||||
|
elif [[ ${distro_string,,} == *"darwin"* ]]; then
|
||||||
|
echo "Sorry, this script does not support macOS. You'll need to setup Solr as a service manually using the documentation provided in the Solr Reference Guide."
|
||||||
|
echo "You could also try installing via Homebrew (http://brew.sh/), e.g. brew install solr"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [[ $distro ]] ; then break ; fi
|
||||||
|
done
|
||||||
|
if [[ ! $distro ]] ; then
|
||||||
|
echo -e "\nERROR: Unable to auto-detect your *NIX distribution!\nYou'll need to setup Solr as a service manually using the documentation provided in the Solr Reference Guide.\n" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
print_usage "Must specify the path to the Solr installation archive, such as solr-5.0.0.tgz"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
SOLR_ARCHIVE=$1
|
||||||
|
if [ ! -f "$SOLR_ARCHIVE" ]; then
|
||||||
|
print_usage "Specified Solr installation archive $SOLR_ARCHIVE not found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# strip off path info
|
||||||
|
SOLR_INSTALL_FILE=${SOLR_ARCHIVE##*/}
|
||||||
|
is_tar=true
|
||||||
|
if [ ${SOLR_INSTALL_FILE: -4} == ".tgz" ]; then
|
||||||
|
SOLR_DIR=${SOLR_INSTALL_FILE%.tgz}
|
||||||
|
elif [ ${SOLR_INSTALL_FILE: -4} == ".zip" ]; then
|
||||||
|
SOLR_DIR=${SOLR_INSTALL_FILE%.zip}
|
||||||
|
is_tar=false
|
||||||
|
else
|
||||||
|
print_usage "Solr installation archive $SOLR_ARCHIVE is invalid, expected a .tgz or .zip file!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
SOLR_START=true
|
||||||
|
if [ $# -gt 1 ]; then
|
||||||
|
shift
|
||||||
|
while true; do
|
||||||
|
case $1 in
|
||||||
|
-i)
|
||||||
|
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
|
||||||
|
print_usage "Directory path is required when using the $1 option!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
SOLR_EXTRACT_DIR=$2
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-d)
|
||||||
|
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
|
||||||
|
print_usage "Directory path is required when using the $1 option!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
SOLR_VAR_DIR="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-u)
|
||||||
|
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
|
||||||
|
print_usage "Username is required when using the $1 option!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
SOLR_USER="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-s)
|
||||||
|
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
|
||||||
|
print_usage "Service name is required when using the $1 option!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
SOLR_SERVICE="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-p)
|
||||||
|
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
|
||||||
|
print_usage "Port is required when using the $1 option!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
SOLR_PORT="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-f)
|
||||||
|
SOLR_UPGRADE="YES"
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
-n)
|
||||||
|
SOLR_START=false
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
-help|-usage)
|
||||||
|
print_usage ""
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
shift
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if [ "$1" != "" ]; then
|
||||||
|
print_usage "Unrecognized or misplaced argument: $1!"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
break # out-of-args, stop looping
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test for availability of needed tools
|
||||||
|
if [[ $is_tar ]] ; then
|
||||||
|
tar --version &>/dev/null || print_error "Script requires the 'tar' command"
|
||||||
|
else
|
||||||
|
unzip -hh &>/dev/null || print_error "Script requires the 'unzip' command"
|
||||||
|
fi
|
||||||
|
if [[ $SOLR_START == "true" ]] ; then
|
||||||
|
service --version &>/dev/null || service --help &>/dev/null || print_error "Script requires the 'service' command"
|
||||||
|
java -version &>/dev/null || print_error "Solr requires java, please install or set JAVA_HOME properly"
|
||||||
|
fi
|
||||||
|
lsof -h &>/dev/null || echo "We recommend installing the 'lsof' command for more stable start/stop of Solr"
|
||||||
|
|
||||||
|
|
||||||
|
if [ -z "$SOLR_EXTRACT_DIR" ]; then
|
||||||
|
SOLR_EXTRACT_DIR=/opt
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "$SOLR_EXTRACT_DIR" ]; then
|
||||||
|
print_usage "Installation directory $SOLR_EXTRACT_DIR not found! Please create it before running this script."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOLR_SERVICE" ]; then
|
||||||
|
SOLR_SERVICE=solr
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOLR_VAR_DIR" ]; then
|
||||||
|
SOLR_VAR_DIR="/var/$SOLR_SERVICE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOLR_USER" ]; then
|
||||||
|
SOLR_USER=solr
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOLR_PORT" ]; then
|
||||||
|
SOLR_PORT=8983
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOLR_UPGRADE" ]; then
|
||||||
|
SOLR_UPGRADE=NO
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! "$SOLR_UPGRADE" = "YES" ]; then
|
||||||
|
if [ -f "/etc/init.d/$SOLR_SERVICE" ]; then
|
||||||
|
print_usage "/etc/init.d/$SOLR_SERVICE already exists! Perhaps Solr is already setup as a service on this host? To upgrade Solr use the -f option."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -e "$SOLR_EXTRACT_DIR/$SOLR_SERVICE" ]; then
|
||||||
|
print_usage "$SOLR_EXTRACT_DIR/$SOLR_SERVICE already exists! Please move this directory / link or choose a different service name using the -s option."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# stop running instance
|
||||||
|
if [ -f "/etc/init.d/$SOLR_SERVICE" ]; then
|
||||||
|
echo -e "\nStopping Solr instance if exists ...\n"
|
||||||
|
service "$SOLR_SERVICE" stop
|
||||||
|
fi
|
||||||
|
|
||||||
|
# create user if not exists
|
||||||
|
solr_uid="`id -u "$SOLR_USER"`"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Creating new user: $SOLR_USER"
|
||||||
|
if [ "$distro" == "RedHat" ] || [ "$distro" == "CentOS" ] ; then
|
||||||
|
adduser --system -U -m --home-dir "$SOLR_VAR_DIR" "$SOLR_USER"
|
||||||
|
elif [ "$distro" == "SUSE" ]; then
|
||||||
|
useradd --system -U -m --home-dir "$SOLR_VAR_DIR" "$SOLR_USER"
|
||||||
|
else
|
||||||
|
adduser --system --shell /bin/bash --group --disabled-password --home "$SOLR_VAR_DIR" "$SOLR_USER"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# extract
|
||||||
|
SOLR_INSTALL_DIR="$SOLR_EXTRACT_DIR/$SOLR_DIR"
|
||||||
|
if [ ! -d "$SOLR_INSTALL_DIR" ]; then
|
||||||
|
|
||||||
|
echo -e "\nExtracting $SOLR_ARCHIVE to $SOLR_EXTRACT_DIR\n"
|
||||||
|
|
||||||
|
if $is_tar ; then
|
||||||
|
tar zxf "$SOLR_ARCHIVE" -C "$SOLR_EXTRACT_DIR"
|
||||||
|
else
|
||||||
|
unzip -q "$SOLR_ARCHIVE" -d "$SOLR_EXTRACT_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "$SOLR_INSTALL_DIR" ]; then
|
||||||
|
echo -e "\nERROR: Expected directory $SOLR_INSTALL_DIR not found after extracting $SOLR_ARCHIVE ... script fails.\n" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
chown -R root: "$SOLR_INSTALL_DIR"
|
||||||
|
find "$SOLR_INSTALL_DIR" -type d -print0 | xargs -0 chmod 0755
|
||||||
|
find "$SOLR_INSTALL_DIR" -type f -print0 | xargs -0 chmod 0644
|
||||||
|
chmod -R 0755 "$SOLR_INSTALL_DIR/bin"
|
||||||
|
else
|
||||||
|
echo -e "\nWARNING: $SOLR_INSTALL_DIR already exists! Skipping extract ...\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# create a symlink for easier scripting
|
||||||
|
if [ -h "$SOLR_EXTRACT_DIR/$SOLR_SERVICE" ]; then
|
||||||
|
echo -e "\nRemoving old symlink $SOLR_EXTRACT_DIR/$SOLR_SERVICE ...\n"
|
||||||
|
rm "$SOLR_EXTRACT_DIR/$SOLR_SERVICE"
|
||||||
|
fi
|
||||||
|
if [ -e "$SOLR_EXTRACT_DIR/$SOLR_SERVICE" ]; then
|
||||||
|
echo -e "\nWARNING: $SOLR_EXTRACT_DIR/$SOLR_SERVICE is not symlink! Skipping symlink update ...\n"
|
||||||
|
else
|
||||||
|
echo -e "\nInstalling symlink $SOLR_EXTRACT_DIR/$SOLR_SERVICE -> $SOLR_INSTALL_DIR ...\n"
|
||||||
|
ln -s "$SOLR_INSTALL_DIR" "$SOLR_EXTRACT_DIR/$SOLR_SERVICE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# install init.d script
|
||||||
|
echo -e "\nInstalling /etc/init.d/$SOLR_SERVICE script ...\n"
|
||||||
|
cp "$SOLR_INSTALL_DIR/bin/init.d/solr" "/etc/init.d/$SOLR_SERVICE"
|
||||||
|
chmod 0744 "/etc/init.d/$SOLR_SERVICE"
|
||||||
|
chown root: "/etc/init.d/$SOLR_SERVICE"
|
||||||
|
# do some basic variable substitution on the init.d script
|
||||||
|
sed_expr1="s#SOLR_INSTALL_DIR=.*#SOLR_INSTALL_DIR=\"$SOLR_EXTRACT_DIR/$SOLR_SERVICE\"#"
|
||||||
|
sed_expr2="s#SOLR_ENV=.*#SOLR_ENV=\"/etc/default/$SOLR_SERVICE.in.sh\"#"
|
||||||
|
sed_expr3="s#RUNAS=.*#RUNAS=\"$SOLR_USER\"#"
|
||||||
|
sed_expr4="s#Provides:.*#Provides: $SOLR_SERVICE#"
|
||||||
|
sed -i -e "$sed_expr1" -e "$sed_expr2" -e "$sed_expr3" -e "$sed_expr4" "/etc/init.d/$SOLR_SERVICE"
|
||||||
|
|
||||||
|
# install/move configuration
|
||||||
|
if [ ! -d /etc/default ]; then
|
||||||
|
mkdir /etc/default
|
||||||
|
chown root: /etc/default
|
||||||
|
chmod 0755 /etc/default
|
||||||
|
fi
|
||||||
|
if [ -f "$SOLR_VAR_DIR/solr.in.sh" ]; then
|
||||||
|
echo -e "\nMoving existing $SOLR_VAR_DIR/solr.in.sh to /etc/default/$SOLR_SERVICE.in.sh ...\n"
|
||||||
|
mv "$SOLR_VAR_DIR/solr.in.sh" "/etc/default/$SOLR_SERVICE.in.sh"
|
||||||
|
elif [ -f "/etc/default/$SOLR_SERVICE.in.sh" ]; then
|
||||||
|
echo -e "\n/etc/default/$SOLR_SERVICE.in.sh already exist. Skipping install ...\n"
|
||||||
|
else
|
||||||
|
echo -e "\nInstalling /etc/default/$SOLR_SERVICE.in.sh ...\n"
|
||||||
|
cp "$SOLR_INSTALL_DIR/bin/solr.in.sh" "/etc/default/$SOLR_SERVICE.in.sh"
|
||||||
|
mv "$SOLR_INSTALL_DIR/bin/solr.in.sh" "$SOLR_INSTALL_DIR/bin/solr.in.sh.orig"
|
||||||
|
mv "$SOLR_INSTALL_DIR/bin/solr.in.cmd" "$SOLR_INSTALL_DIR/bin/solr.in.cmd.orig"
|
||||||
|
echo "SOLR_PID_DIR=\"$SOLR_VAR_DIR\"
|
||||||
|
SOLR_HOME=\"$SOLR_VAR_DIR/data\"
|
||||||
|
LOG4J_PROPS=\"$SOLR_VAR_DIR/log4j2.xml\"
|
||||||
|
SOLR_LOGS_DIR=\"$SOLR_VAR_DIR/logs\"
|
||||||
|
SOLR_PORT=\"$SOLR_PORT\"
|
||||||
|
" >> "/etc/default/$SOLR_SERVICE.in.sh"
|
||||||
|
fi
|
||||||
|
chown root:${SOLR_USER} "/etc/default/$SOLR_SERVICE.in.sh"
|
||||||
|
chmod 0640 "/etc/default/$SOLR_SERVICE.in.sh"
|
||||||
|
|
||||||
|
# install data directories and files
|
||||||
|
mkdir -p "$SOLR_VAR_DIR/data"
|
||||||
|
mkdir -p "$SOLR_VAR_DIR/logs"
|
||||||
|
if [ -f "$SOLR_VAR_DIR/data/solr.xml" ]; then
|
||||||
|
echo -e "\n$SOLR_VAR_DIR/data/solr.xml already exists. Skipping install ...\n"
|
||||||
|
else
|
||||||
|
cp "$SOLR_INSTALL_DIR/server/solr/"{solr.xml,zoo.cfg} "$SOLR_VAR_DIR/data/"
|
||||||
|
fi
|
||||||
|
if [ -f "$SOLR_VAR_DIR/log4j2.xml" ]; then
|
||||||
|
echo -e "\n$SOLR_VAR_DIR/log4j2.xml already exists. Skipping install ...\n"
|
||||||
|
else
|
||||||
|
cp "$SOLR_INSTALL_DIR/server/resources/log4j2.xml" "$SOLR_VAR_DIR/log4j2.xml"
|
||||||
|
fi
|
||||||
|
chown -R "$SOLR_USER:" "$SOLR_VAR_DIR"
|
||||||
|
find "$SOLR_VAR_DIR" -type d -print0 | xargs -0 chmod 0750
|
||||||
|
find "$SOLR_VAR_DIR" -type f -print0 | xargs -0 chmod 0640
|
||||||
|
|
||||||
|
# configure autostart of service
|
||||||
|
if [[ "$distro" == "RedHat" || "$distro" == "CentOS" || "$distro" == "SUSE" ]]; then
|
||||||
|
chkconfig "$SOLR_SERVICE" on
|
||||||
|
else
|
||||||
|
update-rc.d "$SOLR_SERVICE" defaults
|
||||||
|
fi
|
||||||
|
echo "Service $SOLR_SERVICE installed."
|
||||||
|
echo "Customize Solr startup configuration in /etc/default/$SOLR_SERVICE.in.sh"
|
||||||
|
|
||||||
|
# start service
|
||||||
|
if [[ $SOLR_START == "true" ]] ; then
|
||||||
|
service "$SOLR_SERVICE" start
|
||||||
|
sleep 5
|
||||||
|
service "$SOLR_SERVICE" status
|
||||||
|
else
|
||||||
|
echo "Not starting Solr service (option -n given). Start manually with 'service $SOLR_SERVICE start'"
|
||||||
|
fi
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
SOLR_PORT=$1
|
||||||
|
SOLR_LOGS_DIR=$2
|
||||||
|
SOLR_PID=`ps auxww | grep start.jar | grep $SOLR_PORT | grep -v grep | awk '{print $2}' | sort -r`
|
||||||
|
if [ -z "$SOLR_PID" ]; then
|
||||||
|
echo "Couldn't find Solr process running on port $SOLR_PORT!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
NOW=$(date +"%F_%H_%M_%S")
|
||||||
|
(
|
||||||
|
echo "Running OOM killer script for process $SOLR_PID for Solr on port $SOLR_PORT"
|
||||||
|
kill -9 $SOLR_PID
|
||||||
|
echo "Killed process $SOLR_PID"
|
||||||
|
) | tee $SOLR_LOGS_DIR/solr_oom_killer-$SOLR_PORT-$NOW.log
|
||||||
@@ -0,0 +1,239 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
# ====== Common code copied/adapted from bin/solr (TODO: centralize/share this kind of thing across bin/solr, etc)
|
||||||
|
|
||||||
|
THIS_SCRIPT="$0"
|
||||||
|
|
||||||
|
# Resolve symlinks to this script
|
||||||
|
while [ -h "$THIS_SCRIPT" ] ; do
|
||||||
|
ls=`ls -ld "$THIS_SCRIPT"`
|
||||||
|
# Drop everything prior to ->
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '/.*' > /dev/null; then
|
||||||
|
THIS_SCRIPT="$link"
|
||||||
|
else
|
||||||
|
THIS_SCRIPT=`dirname "$THIS_SCRIPT"`/"$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
SOLR_TIP=`dirname "$THIS_SCRIPT"`/..
|
||||||
|
SOLR_TIP=`cd "$SOLR_TIP"; pwd`
|
||||||
|
|
||||||
|
if [ -n "$SOLR_JAVA_HOME" ]; then
|
||||||
|
JAVA="$SOLR_JAVA_HOME/bin/java"
|
||||||
|
elif [ -n "$JAVA_HOME" ]; then
|
||||||
|
for java in "$JAVA_HOME"/bin/amd64/java "$JAVA_HOME"/bin/java; do
|
||||||
|
if [ -x "$java" ]; then
|
||||||
|
JAVA="$java"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
JAVA=java
|
||||||
|
fi
|
||||||
|
|
||||||
|
# test that Java exists and is executable on this server
|
||||||
|
"$JAVA" -version >/dev/null 2>&1 || { echo >&2 "Java is required to run this tool! Please install Java 8 or greater before running this script."; exit 1; }
|
||||||
|
|
||||||
|
|
||||||
|
# ===== post specific code
|
||||||
|
|
||||||
|
TOOL_JAR=("$SOLR_TIP/dist"/solr-core-*.jar)
|
||||||
|
|
||||||
|
function print_usage() {
|
||||||
|
echo ""
|
||||||
|
echo 'Usage: post -c <collection> [OPTIONS] <files|directories|urls|-d ["...",...]>'
|
||||||
|
echo " or post -help"
|
||||||
|
echo ""
|
||||||
|
echo " collection name defaults to DEFAULT_SOLR_COLLECTION if not specified"
|
||||||
|
echo ""
|
||||||
|
echo "OPTIONS"
|
||||||
|
echo "======="
|
||||||
|
echo " Solr options:"
|
||||||
|
echo " -url <base Solr update URL> (overrides collection, host, and port)"
|
||||||
|
echo " -host <host> (default: localhost)"
|
||||||
|
echo " -p or -port <port> (default: 8983)"
|
||||||
|
echo " -commit yes|no (default: yes)"
|
||||||
|
echo " -u or -user <user:pass> (sets BasicAuth credentials)"
|
||||||
|
# optimize intentionally omitted, but can be used as '-optimize yes' (default: no)
|
||||||
|
echo ""
|
||||||
|
echo " Web crawl options:"
|
||||||
|
echo " -recursive <depth> (default: 1)"
|
||||||
|
echo " -delay <seconds> (default: 10)"
|
||||||
|
echo ""
|
||||||
|
echo " Directory crawl options:"
|
||||||
|
echo " -delay <seconds> (default: 0)"
|
||||||
|
echo ""
|
||||||
|
echo " stdin/args options:"
|
||||||
|
echo " -type <content/type> (default: application/xml)"
|
||||||
|
echo ""
|
||||||
|
echo " Other options:"
|
||||||
|
echo " -filetypes <type>[,<type>,...] (default: xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log)"
|
||||||
|
echo " -params \"<key>=<value>[&<key>=<value>...]\" (values must be URL-encoded; these pass through to Solr update request)"
|
||||||
|
echo " -out yes|no (default: no; yes outputs Solr response to console)"
|
||||||
|
echo " -format solr (sends application/json content as Solr commands to /update instead of /update/json/docs)"
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo "Examples:"
|
||||||
|
echo ""
|
||||||
|
echo "* JSON file: $THIS_SCRIPT -c wizbang events.json"
|
||||||
|
echo "* XML files: $THIS_SCRIPT -c records article*.xml"
|
||||||
|
echo "* CSV file: $THIS_SCRIPT -c signals LATEST-signals.csv"
|
||||||
|
echo "* Directory of files: $THIS_SCRIPT -c myfiles ~/Documents"
|
||||||
|
echo "* Web crawl: $THIS_SCRIPT -c gettingstarted http://lucene.apache.org/solr -recursive 1 -delay 1"
|
||||||
|
echo "* Standard input (stdin): echo '{"commit": {}}' | $THIS_SCRIPT -c my_collection -type application/json -out yes -d"
|
||||||
|
echo "* Data as string: $THIS_SCRIPT -c signals -type text/csv -out yes -d $'id,value\n1,0.47'"
|
||||||
|
echo ""
|
||||||
|
} # end print_usage
|
||||||
|
|
||||||
|
if [[ $# -eq 1 && ("$1" == "-help" || "$1" == "-h" || "$1" == "-usage") ]]; then
|
||||||
|
print_usage
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
COLLECTION="$DEFAULT_SOLR_COLLECTION"
|
||||||
|
PROPS=('-Dauto=yes')
|
||||||
|
RECURSIVE=""
|
||||||
|
FILES=()
|
||||||
|
URLS=()
|
||||||
|
ARGS=()
|
||||||
|
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
# TODO: natively handle the optional parameters to SPT
|
||||||
|
# but for now they can be specified as bin/post -c collection-name delay=5 http://lucidworks.com
|
||||||
|
|
||||||
|
if [[ -d "$1" ]]; then
|
||||||
|
# Directory
|
||||||
|
# echo "$1: DIRECTORY"
|
||||||
|
RECURSIVE=yes
|
||||||
|
FILES+=("$1")
|
||||||
|
elif [[ -f "$1" ]]; then
|
||||||
|
# File
|
||||||
|
# echo "$1: FILE"
|
||||||
|
FILES+=("$1")
|
||||||
|
elif [[ "$1" == http* ]]; then
|
||||||
|
# URL
|
||||||
|
# echo "$1: URL"
|
||||||
|
URLS+=("$1")
|
||||||
|
else
|
||||||
|
if [[ "$1" == -* ]]; then
|
||||||
|
if [[ "$1" == "-c" ]]; then
|
||||||
|
# Special case, pull out collection name
|
||||||
|
shift
|
||||||
|
COLLECTION="$1"
|
||||||
|
elif [[ "$1" == "-p" ]]; then
|
||||||
|
# -p alias for -port for convenience and compatibility with `bin/solr start`
|
||||||
|
shift
|
||||||
|
PROPS+=("-Dport=$1")
|
||||||
|
elif [[ ("$1" == "-d" || "$1" == "--data" || "$1" == "-") ]]; then
|
||||||
|
if [[ ! -t 0 ]]; then
|
||||||
|
MODE="stdin"
|
||||||
|
else
|
||||||
|
# when no stdin exists and -d specified, the rest of the arguments
|
||||||
|
# are assumed to be strings to post as-is
|
||||||
|
MODE="args"
|
||||||
|
shift
|
||||||
|
if [[ $# -gt 0 ]]; then
|
||||||
|
ARGS=("$@")
|
||||||
|
shift $#
|
||||||
|
else
|
||||||
|
# SPT needs a valid args string, useful for 'bin/post -c foo -d' to force a commit
|
||||||
|
ARGS+=("<add/>")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
elif [[ ("$1" == "-u" || "$1" == "-user") ]]; then
|
||||||
|
shift
|
||||||
|
PROPS+=("-Dbasicauth=$1")
|
||||||
|
else
|
||||||
|
if [[ "$1" == -D* ]] ; then
|
||||||
|
PROPS+=("$1")
|
||||||
|
if [[ "${1:2:4}" == "url=" ]]; then
|
||||||
|
SOLR_URL=${1:6}
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
key="${1:1}"
|
||||||
|
shift
|
||||||
|
# echo "$1: PROP"
|
||||||
|
PROPS+=("-D$key=$1")
|
||||||
|
if [[ "$key" == "url" ]]; then
|
||||||
|
SOLR_URL=$1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e "\nUnrecognized argument: $1\n"
|
||||||
|
echo -e "If this was intended to be a data file, it does not exist relative to $PWD\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
# Check for errors
|
||||||
|
if [[ $COLLECTION == "" && $SOLR_URL == "" ]]; then
|
||||||
|
echo -e "\nCollection or URL must be specified. Use -c <collection name> or set DEFAULT_SOLR_COLLECTION in your environment, or use -url instead.\n"
|
||||||
|
echo -e "See '$THIS_SCRIPT -h' for usage instructions.\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Unsupported: bin/post -c foo
|
||||||
|
if [[ ${#FILES[@]} == 0 && ${#URLS[@]} == 0 && $MODE != "stdin" && $MODE != "args" ]]; then
|
||||||
|
echo -e "\nNo files, directories, URLs, -d strings, or stdin were specified.\n"
|
||||||
|
echo -e "See '$THIS_SCRIPT -h' for usage instructions.\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# SPT does not support mixing different data mode types, just files, just URLs, just stdin, or just argument strings.
|
||||||
|
# The following are unsupported constructs:
|
||||||
|
# bin/post -c foo existing_file.csv http://example.com
|
||||||
|
# echo '<xml.../>' | bin/post -c foo existing_file.csv
|
||||||
|
# bin/post -c foo existing_file.csv -d 'anything'
|
||||||
|
if [[ (${#FILES[@]} != 0 && ${#URLS[@]} != 0 && $MODE != "stdin" && $MODE != "args")
|
||||||
|
|| ((${#FILES[@]} != 0 || ${#URLS[@]} != 0) && ($MODE == "stdin" || $MODE == "args")) ]]; then
|
||||||
|
echo -e "\nCombining files/directories, URLs, stdin, or args is not supported. Post them separately.\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
PARAMS=""
|
||||||
|
|
||||||
|
# TODO: let's simplify this
|
||||||
|
if [[ $MODE != "stdin" && $MODE != "args" ]]; then
|
||||||
|
if [[ $FILES != "" ]]; then
|
||||||
|
MODE="files"
|
||||||
|
PARAMS=("${FILES[@]}")
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $URLS != "" ]]; then
|
||||||
|
MODE="web"
|
||||||
|
PARAMS=("${URLS[@]}")
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
PARAMS=("${ARGS[@]}")
|
||||||
|
fi
|
||||||
|
|
||||||
|
PROPS+=("-Dc=$COLLECTION" "-Ddata=$MODE")
|
||||||
|
if [[ -n "$RECURSIVE" ]]; then
|
||||||
|
PROPS+=('-Drecursive=yes')
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$JAVA" -classpath "${TOOL_JAR[0]}" "${PROPS[@]}" org.apache.solr.util.SimplePostTool "${PARAMS[@]}"
|
||||||
|
"$JAVA" -classpath "${TOOL_JAR[0]}" "${PROPS[@]}" org.apache.solr.util.SimplePostTool "${PARAMS[@]}"
|
||||||
|
|
||||||
|
# post smoker:
|
||||||
|
# bin/post -c signals -out yes -type application/json -d '[{"id": 2, "val": 0.47}]'
|
||||||
|
# bin/post -c signals -out yes -params "wt=json" -d '<add><doc><field name="id">1</field></doc></add>'
|
||||||
+2170
檔案差異因為檔案過大而無法顯示
載入差異
@@ -0,0 +1 @@
|
|||||||
|
374318
|
||||||
檔案差異因為檔案過大而無法顯示
載入差異
@@ -0,0 +1,157 @@
|
|||||||
|
@REM
|
||||||
|
@REM Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@REM contributor license agreements. See the NOTICE file distributed with
|
||||||
|
@REM this work for additional information regarding copyright ownership.
|
||||||
|
@REM The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
@REM (the "License"); you may not use this file except in compliance with
|
||||||
|
@REM the License. You may obtain a copy of the License at
|
||||||
|
@REM
|
||||||
|
@REM http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
@REM
|
||||||
|
@REM Unless required by applicable law or agreed to in writing, software
|
||||||
|
@REM distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@REM See the License for the specific language governing permissions and
|
||||||
|
@REM limitations under the License.
|
||||||
|
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
REM Settings here will override settings in existing env vars or in bin/solr. The default shipped state
|
||||||
|
REM of this file is completely commented.
|
||||||
|
|
||||||
|
REM By default the script will use JAVA_HOME to determine which java
|
||||||
|
REM to use, but you can set a specific path for Solr to use without
|
||||||
|
REM affecting other Java applications on your server/workstation.
|
||||||
|
REM set SOLR_JAVA_HOME=
|
||||||
|
|
||||||
|
REM Increase Java Min/Max Heap as needed to support your indexing / query needs
|
||||||
|
REM set SOLR_JAVA_MEM=-Xms512m -Xmx512m
|
||||||
|
|
||||||
|
REM Configure verbose GC logging:
|
||||||
|
REM For Java 8: if this is set, additional params will be added to specify the log file & rotation
|
||||||
|
REM For Java 9 or higher: GC_LOG_OPTS is currently not supported. If you set it, the startup script will exit with failure.
|
||||||
|
REM set GC_LOG_OPTS=-verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime
|
||||||
|
|
||||||
|
REM Various GC settings have shown to work well for a number of common Solr workloads.
|
||||||
|
REM See solr.cmd GC_TUNE for the default list.
|
||||||
|
REM set GC_TUNE=-XX:NewRatio=3 -XX:SurvivorRatio=4 etc.
|
||||||
|
|
||||||
|
REM Set the ZooKeeper connection string if using an external ZooKeeper ensemble
|
||||||
|
REM e.g. host1:2181,host2:2181/chroot
|
||||||
|
REM Leave empty if not using SolrCloud
|
||||||
|
REM set ZK_HOST=
|
||||||
|
|
||||||
|
REM Set the ZooKeeper client timeout (for SolrCloud mode)
|
||||||
|
REM set ZK_CLIENT_TIMEOUT=15000
|
||||||
|
|
||||||
|
REM By default the start script uses "localhost"; override the hostname here
|
||||||
|
REM for production SolrCloud environments to control the hostname exposed to cluster state
|
||||||
|
REM set SOLR_HOST=192.168.1.1
|
||||||
|
|
||||||
|
REM By default Solr will try to connect to Zookeeper with 30 seconds in timeout; override the timeout if needed
|
||||||
|
REM set SOLR_WAIT_FOR_ZK=30
|
||||||
|
|
||||||
|
REM By default the start script uses UTC; override the timezone if needed
|
||||||
|
REM set SOLR_TIMEZONE=UTC
|
||||||
|
|
||||||
|
REM Set to true to activate the JMX RMI connector to allow remote JMX client applications
|
||||||
|
REM to monitor the JVM hosting Solr; set to "false" to disable that behavior
|
||||||
|
REM (false is recommended in production environments)
|
||||||
|
REM set ENABLE_REMOTE_JMX_OPTS=false
|
||||||
|
|
||||||
|
REM The script will use SOLR_PORT+10000 for the RMI_PORT or you can set it here
|
||||||
|
REM set RMI_PORT=18983
|
||||||
|
|
||||||
|
REM Anything you add to the SOLR_OPTS variable will be included in the java
|
||||||
|
REM start command line as-is, in ADDITION to other options. If you specify the
|
||||||
|
REM -a option on start script, those options will be appended as well. Examples:
|
||||||
|
REM set SOLR_OPTS=%SOLR_OPTS% -Dsolr.autoSoftCommit.maxTime=3000
|
||||||
|
REM set SOLR_OPTS=%SOLR_OPTS% -Dsolr.autoCommit.maxTime=60000
|
||||||
|
REM set SOLR_OPTS=%SOLR_OPTS% -Dsolr.clustering.enabled=true
|
||||||
|
|
||||||
|
REM Path to a directory for Solr to store cores and their data. By default, Solr will use server\solr
|
||||||
|
REM If solr.xml is not stored in ZooKeeper, this directory needs to contain solr.xml
|
||||||
|
REM set SOLR_HOME=
|
||||||
|
|
||||||
|
REM Path to a directory that Solr will use as root for data folders for each core.
|
||||||
|
REM If not set, defaults to <instance_dir>/data. Overridable per core through 'dataDir' core property
|
||||||
|
REM set SOLR_DATA_HOME=
|
||||||
|
|
||||||
|
REM Changes the logging level. Valid values: ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF. Default is INFO
|
||||||
|
REM This is an alternative to changing the rootLogger in log4j2.xml
|
||||||
|
REM set SOLR_LOG_LEVEL=INFO
|
||||||
|
|
||||||
|
REM Location where Solr should write logs to. Absolute or relative to solr start dir
|
||||||
|
REM set SOLR_LOGS_DIR=logs
|
||||||
|
|
||||||
|
REM Enables log rotation before starting Solr. Setting SOLR_LOG_PRESTART_ROTATION=true will let Solr take care of pre
|
||||||
|
REM start rotation of logs. This is false by default as log4j2 handles this for us. If you choose to use another log
|
||||||
|
REM framework that cannot do startup rotation, you may want to enable this to let Solr rotate logs on startup.
|
||||||
|
REM set SOLR_LOG_PRESTART_ROTATION=false
|
||||||
|
|
||||||
|
REM Set the host interface to listen on. Jetty will listen on all interfaces (0.0.0.0) by default.
|
||||||
|
REM This must be an IPv4 ("a.b.c.d") or bracketed IPv6 ("[x::y]") address, not a hostname!
|
||||||
|
REM set SOLR_JETTY_HOST=0.0.0.0
|
||||||
|
|
||||||
|
REM Sets the port Solr binds to, default is 8983
|
||||||
|
REM set SOLR_PORT=8983
|
||||||
|
|
||||||
|
REM Enables HTTPS. It is implictly true if you set SOLR_SSL_KEY_STORE. Use this config
|
||||||
|
REM to enable https module with custom jetty configuration.
|
||||||
|
REM set SOLR_SSL_ENABLED=true
|
||||||
|
REM Uncomment to set SSL-related system properties
|
||||||
|
REM Be sure to update the paths to the correct keystore for your environment
|
||||||
|
REM set SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
|
||||||
|
REM set SOLR_SSL_KEY_STORE_PASSWORD=secret
|
||||||
|
REM set SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
|
||||||
|
REM set SOLR_SSL_TRUST_STORE_PASSWORD=secret
|
||||||
|
REM Require clients to authenticate
|
||||||
|
REM set SOLR_SSL_NEED_CLIENT_AUTH=false
|
||||||
|
REM Enable clients to authenticate (but not require)
|
||||||
|
REM set SOLR_SSL_WANT_CLIENT_AUTH=false
|
||||||
|
REM SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
|
||||||
|
REM this to false can be useful to disable these checks when re-using a certificate on many hosts
|
||||||
|
REM set SOLR_SSL_CHECK_PEER_NAME=true
|
||||||
|
REM Override Key/Trust Store types if necessary
|
||||||
|
REM set SOLR_SSL_KEY_STORE_TYPE=JKS
|
||||||
|
REM set SOLR_SSL_TRUST_STORE_TYPE=JKS
|
||||||
|
|
||||||
|
REM Uncomment if you want to override previously defined SSL values for HTTP client
|
||||||
|
REM otherwise keep them commented and the above values will automatically be set for HTTP clients
|
||||||
|
REM set SOLR_SSL_CLIENT_KEY_STORE=
|
||||||
|
REM set SOLR_SSL_CLIENT_KEY_STORE_PASSWORD=
|
||||||
|
REM set SOLR_SSL_CLIENT_TRUST_STORE=
|
||||||
|
REM set SOLR_SSL_CLIENT_TRUST_STORE_PASSWORD=
|
||||||
|
REM set SOLR_SSL_CLIENT_KEY_STORE_TYPE=
|
||||||
|
REM set SOLR_SSL_CLIENT_TRUST_STORE_TYPE=
|
||||||
|
|
||||||
|
REM Sets path of Hadoop credential provider (hadoop.security.credential.provider.path property) and
|
||||||
|
REM enables usage of credential store.
|
||||||
|
REM Credential provider should store the following keys:
|
||||||
|
REM * solr.jetty.keystore.password
|
||||||
|
REM * solr.jetty.truststore.password
|
||||||
|
REM Set the two below if you want to set specific store passwords for HTTP client
|
||||||
|
REM * javax.net.ssl.keyStorePassword
|
||||||
|
REM * javax.net.ssl.trustStorePassword
|
||||||
|
REM More info: https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/CredentialProviderAPI.html
|
||||||
|
REM set SOLR_HADOOP_CREDENTIAL_PROVIDER_PATH=localjceks://file/home/solr/hadoop-credential-provider.jceks
|
||||||
|
REM set SOLR_OPTS=" -Dsolr.ssl.credential.provider.chain=hadoop"
|
||||||
|
|
||||||
|
REM Settings for authentication
|
||||||
|
REM Please configure only one of SOLR_AUTHENTICATION_CLIENT_BUILDER or SOLR_AUTH_TYPE parameters
|
||||||
|
REM set SOLR_AUTHENTICATION_CLIENT_BUILDER=org.apache.solr.client.solrj.impl.PreemptiveBasicAuthClientBuilderFactory
|
||||||
|
REM set SOLR_AUTH_TYPE=basic
|
||||||
|
REM set SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
|
||||||
|
|
||||||
|
REM Settings for ZK ACL
|
||||||
|
REM set SOLR_ZK_CREDS_AND_ACLS=-DzkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider ^
|
||||||
|
REM -DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider ^
|
||||||
|
REM -DzkDigestUsername=admin-user -DzkDigestPassword=CHANGEME-ADMIN-PASSWORD ^
|
||||||
|
REM -DzkDigestReadonlyUsername=readonly-user -DzkDigestReadonlyPassword=CHANGEME-READONLY-PASSWORD
|
||||||
|
REM set SOLR_OPTS=%SOLR_OPTS% %SOLR_ZK_CREDS_AND_ACLS%
|
||||||
|
|
||||||
|
REM When running Solr in non-cloud mode and if planning to do distributed search (using the "shards" parameter), the
|
||||||
|
REM list of hosts needs to be whitelisted or Solr will forbid the request. The whitelist can be configured in solr.xml,
|
||||||
|
REM or if you are using the OOTB solr.xml, can be specified using the system property "solr.shardsWhitelist". Alternatively
|
||||||
|
REM host checking can be disabled by using the system property "solr.disable.shardsWhitelist"
|
||||||
|
REM set SOLR_OPTS="%SOLR_OPTS% -Dsolr.shardsWhitelist=http://localhost:8983,http://localhost:8984"
|
||||||
@@ -0,0 +1,185 @@
|
|||||||
|
# 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.
|
||||||
|
|
||||||
|
# Settings here will override settings in existing env vars or in bin/solr. The default shipped state
|
||||||
|
# of this file is completely commented.
|
||||||
|
|
||||||
|
# By default the script will use JAVA_HOME to determine which java
|
||||||
|
# to use, but you can set a specific path for Solr to use without
|
||||||
|
# affecting other Java applications on your server/workstation.
|
||||||
|
#SOLR_JAVA_HOME=""
|
||||||
|
|
||||||
|
# This controls the number of seconds that the solr script will wait for
|
||||||
|
# Solr to stop gracefully or Solr to start. If the graceful stop fails,
|
||||||
|
# the script will forcibly stop Solr. If the start fails, the script will
|
||||||
|
# give up waiting and display the last few lines of the logfile.
|
||||||
|
#SOLR_STOP_WAIT="180"
|
||||||
|
|
||||||
|
# Increase Java Heap as needed to support your indexing / query needs
|
||||||
|
#SOLR_HEAP="512m"
|
||||||
|
|
||||||
|
# Expert: If you want finer control over memory options, specify them directly
|
||||||
|
# Comment out SOLR_HEAP if you are using this though, that takes precedence
|
||||||
|
#SOLR_JAVA_MEM="-Xms512m -Xmx512m"
|
||||||
|
|
||||||
|
# Enable verbose GC logging...
|
||||||
|
# * If this is unset, various default options will be selected depending on which JVM version is in use
|
||||||
|
# * For Java 8: if this is set, additional params will be added to specify the log file & rotation
|
||||||
|
# * For Java 9 or higher: each included opt param that starts with '-Xlog:gc', but does not include an
|
||||||
|
# output specifier, will have a 'file' output specifier (as well as formatting & rollover options)
|
||||||
|
# appended, using the effective value of the SOLR_LOGS_DIR.
|
||||||
|
#
|
||||||
|
#GC_LOG_OPTS='-Xlog:gc*' # (Java 9+)
|
||||||
|
#GC_LOG_OPTS="-verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCDetails \
|
||||||
|
# -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime"
|
||||||
|
|
||||||
|
# These GC settings have shown to work well for a number of common Solr workloads
|
||||||
|
#GC_TUNE="-XX:NewRatio=3 -XX:SurvivorRatio=4 etc.
|
||||||
|
|
||||||
|
# Set the ZooKeeper connection string if using an external ZooKeeper ensemble
|
||||||
|
# e.g. host1:2181,host2:2181/chroot
|
||||||
|
# Leave empty if not using SolrCloud
|
||||||
|
#ZK_HOST=""
|
||||||
|
|
||||||
|
# Set the ZooKeeper client timeout (for SolrCloud mode)
|
||||||
|
#ZK_CLIENT_TIMEOUT="15000"
|
||||||
|
|
||||||
|
# By default the start script uses "localhost"; override the hostname here
|
||||||
|
# for production SolrCloud environments to control the hostname exposed to cluster state
|
||||||
|
#SOLR_HOST="192.168.1.1"
|
||||||
|
|
||||||
|
# By default Solr will try to connect to Zookeeper with 30 seconds in timeout; override the timeout if needed
|
||||||
|
#SOLR_WAIT_FOR_ZK="30"
|
||||||
|
|
||||||
|
# By default the start script uses UTC; override the timezone if needed
|
||||||
|
#SOLR_TIMEZONE="UTC"
|
||||||
|
|
||||||
|
# Set to true to activate the JMX RMI connector to allow remote JMX client applications
|
||||||
|
# to monitor the JVM hosting Solr; set to "false" to disable that behavior
|
||||||
|
# (false is recommended in production environments)
|
||||||
|
#ENABLE_REMOTE_JMX_OPTS="false"
|
||||||
|
|
||||||
|
# The script will use SOLR_PORT+10000 for the RMI_PORT or you can set it here
|
||||||
|
# RMI_PORT=18983
|
||||||
|
|
||||||
|
# Anything you add to the SOLR_OPTS variable will be included in the java
|
||||||
|
# start command line as-is, in ADDITION to other options. If you specify the
|
||||||
|
# -a option on start script, those options will be appended as well. Examples:
|
||||||
|
#SOLR_OPTS="$SOLR_OPTS -Dsolr.autoSoftCommit.maxTime=3000"
|
||||||
|
#SOLR_OPTS="$SOLR_OPTS -Dsolr.autoCommit.maxTime=60000"
|
||||||
|
#SOLR_OPTS="$SOLR_OPTS -Dsolr.clustering.enabled=true"
|
||||||
|
|
||||||
|
# Location where the bin/solr script will save PID files for running instances
|
||||||
|
# If not set, the script will create PID files in $SOLR_TIP/bin
|
||||||
|
#SOLR_PID_DIR=
|
||||||
|
|
||||||
|
# Path to a directory for Solr to store cores and their data. By default, Solr will use server/solr
|
||||||
|
# If solr.xml is not stored in ZooKeeper, this directory needs to contain solr.xml
|
||||||
|
#SOLR_HOME=
|
||||||
|
|
||||||
|
# Path to a directory that Solr will use as root for data folders for each core.
|
||||||
|
# If not set, defaults to <instance_dir>/data. Overridable per core through 'dataDir' core property
|
||||||
|
#SOLR_DATA_HOME=
|
||||||
|
|
||||||
|
# Solr provides a default Log4J configuration xml file in server/resources
|
||||||
|
# however, you may want to customize the log settings and file appender location
|
||||||
|
# so you can point the script to use a different log4j2.xml file
|
||||||
|
#LOG4J_PROPS=/var/solr/log4j2.xml
|
||||||
|
|
||||||
|
# Changes the logging level. Valid values: ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF. Default is INFO
|
||||||
|
# This is an alternative to changing the rootLogger in log4j2.xml
|
||||||
|
#SOLR_LOG_LEVEL=INFO
|
||||||
|
|
||||||
|
# Location where Solr should write logs to. Absolute or relative to solr start dir
|
||||||
|
#SOLR_LOGS_DIR=logs
|
||||||
|
|
||||||
|
# Enables log rotation before starting Solr. Setting SOLR_LOG_PRESTART_ROTATION=true will let Solr take care of pre
|
||||||
|
# start rotation of logs. This is false by default as log4j2 handles this for us. If you choose to use another log
|
||||||
|
# framework that cannot do startup rotation, you may want to enable this to let Solr rotate logs on startup.
|
||||||
|
#SOLR_LOG_PRESTART_ROTATION=false
|
||||||
|
|
||||||
|
# Sets the port Solr binds to, default is 8983
|
||||||
|
#SOLR_PORT=8983
|
||||||
|
|
||||||
|
# Enables HTTPS. It is implictly true if you set SOLR_SSL_KEY_STORE. Use this config
|
||||||
|
# to enable https module with custom jetty configuration.
|
||||||
|
#SOLR_SSL_ENABLED=true
|
||||||
|
# Uncomment to set SSL-related system properties
|
||||||
|
# Be sure to update the paths to the correct keystore for your environment
|
||||||
|
#SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
|
||||||
|
#SOLR_SSL_KEY_STORE_PASSWORD=secret
|
||||||
|
#SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
|
||||||
|
#SOLR_SSL_TRUST_STORE_PASSWORD=secret
|
||||||
|
# Require clients to authenticate
|
||||||
|
#SOLR_SSL_NEED_CLIENT_AUTH=false
|
||||||
|
# Enable clients to authenticate (but not require)
|
||||||
|
#SOLR_SSL_WANT_CLIENT_AUTH=false
|
||||||
|
# SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
|
||||||
|
# this to false can be useful to disable these checks when re-using a certificate on many hosts
|
||||||
|
#SOLR_SSL_CHECK_PEER_NAME=true
|
||||||
|
# Override Key/Trust Store types if necessary
|
||||||
|
#SOLR_SSL_KEY_STORE_TYPE=JKS
|
||||||
|
#SOLR_SSL_TRUST_STORE_TYPE=JKS
|
||||||
|
|
||||||
|
# Uncomment if you want to override previously defined SSL values for HTTP client
|
||||||
|
# otherwise keep them commented and the above values will automatically be set for HTTP clients
|
||||||
|
#SOLR_SSL_CLIENT_KEY_STORE=
|
||||||
|
#SOLR_SSL_CLIENT_KEY_STORE_PASSWORD=
|
||||||
|
#SOLR_SSL_CLIENT_TRUST_STORE=
|
||||||
|
#SOLR_SSL_CLIENT_TRUST_STORE_PASSWORD=
|
||||||
|
#SOLR_SSL_CLIENT_KEY_STORE_TYPE=
|
||||||
|
#SOLR_SSL_CLIENT_TRUST_STORE_TYPE=
|
||||||
|
|
||||||
|
# Sets path of Hadoop credential provider (hadoop.security.credential.provider.path property) and
|
||||||
|
# enables usage of credential store.
|
||||||
|
# Credential provider should store the following keys:
|
||||||
|
# * solr.jetty.keystore.password
|
||||||
|
# * solr.jetty.truststore.password
|
||||||
|
# Set the two below if you want to set specific store passwords for HTTP client
|
||||||
|
# * javax.net.ssl.keyStorePassword
|
||||||
|
# * javax.net.ssl.trustStorePassword
|
||||||
|
# More info: https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/CredentialProviderAPI.html
|
||||||
|
#SOLR_HADOOP_CREDENTIAL_PROVIDER_PATH=localjceks://file/home/solr/hadoop-credential-provider.jceks
|
||||||
|
#SOLR_OPTS=" -Dsolr.ssl.credential.provider.chain=hadoop"
|
||||||
|
|
||||||
|
# Settings for authentication
|
||||||
|
# Please configure only one of SOLR_AUTHENTICATION_CLIENT_BUILDER or SOLR_AUTH_TYPE parameters
|
||||||
|
#SOLR_AUTHENTICATION_CLIENT_BUILDER="org.apache.solr.client.solrj.impl.PreemptiveBasicAuthClientBuilderFactory"
|
||||||
|
#SOLR_AUTH_TYPE="basic"
|
||||||
|
#SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
|
||||||
|
|
||||||
|
# Settings for ZK ACL
|
||||||
|
#SOLR_ZK_CREDS_AND_ACLS="-DzkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider \
|
||||||
|
# -DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider \
|
||||||
|
# -DzkDigestUsername=admin-user -DzkDigestPassword=CHANGEME-ADMIN-PASSWORD \
|
||||||
|
# -DzkDigestReadonlyUsername=readonly-user -DzkDigestReadonlyPassword=CHANGEME-READONLY-PASSWORD"
|
||||||
|
#SOLR_OPTS="$SOLR_OPTS $SOLR_ZK_CREDS_AND_ACLS"
|
||||||
|
|
||||||
|
|
||||||
|
# Settings for common system values that may cause operational imparement when system defaults are used.
|
||||||
|
# Solr can use many processes and many file handles. On modern operating systems the savings by leaving
|
||||||
|
# these settings low is minuscule, while the consequence can be Solr instability. To turn these checks off, set
|
||||||
|
# SOLR_ULIMIT_CHECKS=false either here or as part of your profile.
|
||||||
|
|
||||||
|
# Different limits can be set in solr.in.sh or your profile if you prefer as well.
|
||||||
|
#SOLR_RECOMMENDED_OPEN_FILES=
|
||||||
|
#SOLR_RECOMMENDED_MAX_PROCESSES=
|
||||||
|
SOLR_ULIMIT_CHECKS=false
|
||||||
|
|
||||||
|
# When running Solr in non-cloud mode and if planning to do distributed search (using the "shards" parameter), the
|
||||||
|
# list of hosts needs to be whitelisted or Solr will forbid the request. The whitelist can be configured in solr.xml,
|
||||||
|
# or if you are using the OOTB solr.xml, can be specified using the system property "solr.shardsWhitelist". Alternatively
|
||||||
|
# host checking can be disabled by using the system property "solr.disable.shardsWhitelist"
|
||||||
|
#SOLR_OPTS="$SOLR_OPTS -Dsolr.shardsWhitelist=http://localhost:8983,http://localhost:8984"
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
The analysis-extras plugin provides additional analyzers that rely
|
||||||
|
upon large dependencies/dictionaries.
|
||||||
|
|
||||||
|
It includes integration with ICU for multilingual support,
|
||||||
|
analyzers for Chinese and Polish, and integration with
|
||||||
|
OpenNLP for multilingual tokenization, part-of-speech tagging
|
||||||
|
lemmatization, phrase chunking, and named-entity recognition.
|
||||||
|
|
||||||
|
ICU relies upon lucene-libs/lucene-analyzers-icu-X.Y.jar
|
||||||
|
and lib/icu4j-X.Y.jar
|
||||||
|
|
||||||
|
Smartcn relies upon lucene-libs/lucene-analyzers-smartcn-X.Y.jar
|
||||||
|
|
||||||
|
Stempel relies on lucene-libs/lucene-analyzers-stempel-X.Y.jar
|
||||||
|
|
||||||
|
Morfologik relies on lucene-libs/lucene-analyzers-morfologik-X.Y.jar
|
||||||
|
and lib/morfologik-*.jar
|
||||||
|
|
||||||
|
OpenNLP relies on lucene-libs/lucene-analyzers-opennlp-X.Y.jar
|
||||||
|
and lib/opennlp-*.jar
|
||||||
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
@@ -0,0 +1,4 @@
|
|||||||
|
The Clustering contrib plugin for Solr provides a generic mechanism for plugging in third party clustering implementations.
|
||||||
|
It currently provides clustering support for search results using the Carrot2 project.
|
||||||
|
|
||||||
|
See https://lucene.apache.org/solr/guide/result-clustering for how to get started.
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
Apache Solr - DataImportHandler
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
DataImportHandler is a data import tool for Solr which makes importing data from Databases, XML files and
|
||||||
|
HTTP data sources quick and easy.
|
||||||
|
|
||||||
|
Important Note
|
||||||
|
--------------
|
||||||
|
Although Solr strives to be agnostic of the Locale where the server is
|
||||||
|
running, some code paths in DataImportHandler are known to depend on the
|
||||||
|
System default Locale, Timezone, or Charset. It is recommended that when
|
||||||
|
running Solr you set the following system properties:
|
||||||
|
-Duser.language=xx -Duser.country=YY -Duser.timezone=ZZZ
|
||||||
|
|
||||||
|
where xx, YY, and ZZZ are consistent with any database server's configuration.
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
Apache Solr Content Extraction Library (Solr Cell)
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Apache Solr Extraction provides a means for extracting and indexing content contained in "rich" documents, such
|
||||||
|
as Microsoft Word, Adobe PDF, etc. (Each name is a trademark of their respective owners) This contrib module
|
||||||
|
uses Apache Tika to extract content and metadata from the files, which can then be indexed. For more information,
|
||||||
|
see http://wiki.apache.org/solr/ExtractingRequestHandler
|
||||||
|
|
||||||
|
Getting Started
|
||||||
|
---------------
|
||||||
|
You will need Solr up and running. Then, simply add the extraction JAR file, plus the Tika dependencies (in the ./lib folder)
|
||||||
|
to your Solr Home lib directory. See http://wiki.apache.org/solr/ExtractingRequestHandler for more details on hooking it in
|
||||||
|
and configuring.
|
||||||
|
|
||||||
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
@@ -0,0 +1,22 @@
|
|||||||
|
Apache Solr Language Identifier
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
This module is intended to be used while indexing documents.
|
||||||
|
It is implemented as an UpdateProcessor to be placed in an UpdateChain.
|
||||||
|
Its purpose is to identify language from documents and tag the document with language code.
|
||||||
|
The module can optionally map field names to their language specific counterpart,
|
||||||
|
e.g. if the input is "title" and language is detected as "en", map to "title_en".
|
||||||
|
Language may be detected globally for the document, and/or individually per field.
|
||||||
|
Language detector implementations are pluggable.
|
||||||
|
|
||||||
|
Getting Started
|
||||||
|
---------------
|
||||||
|
Please refer to the module documentation at http://wiki.apache.org/solr/LanguageDetection
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
------------
|
||||||
|
The Tika detector depends on Tika Core (which is part of extraction contrib)
|
||||||
|
The Langdetect detector depends on LangDetect library
|
||||||
|
The OpenNLP detector depends on OpenNLP tools and requires a previously trained user-supplied model
|
||||||
未顯示二進位檔案。
@@ -0,0 +1,23 @@
|
|||||||
|
Welcome to Apache Solr Learning to Rank!
|
||||||
|
========
|
||||||
|
|
||||||
|
Apache Solr Learning to Rank (LTR) provides a way for you to extract features
|
||||||
|
directly inside Solr for use in training a machine learned model. You can then
|
||||||
|
deploy that model to Solr and use it to rerank your top X search results.
|
||||||
|
|
||||||
|
# Getting Started With Solr Learning To Rank
|
||||||
|
|
||||||
|
For information on how to get started with solr ltr please see:
|
||||||
|
* [Solr Reference Guide's section on Learning To Rank](https://lucene.apache.org/solr/guide/learning-to-rank.html)
|
||||||
|
|
||||||
|
# Getting Started With Solr
|
||||||
|
|
||||||
|
For information on how to get started with solr please see:
|
||||||
|
* [solr/README.txt](../../README.txt)
|
||||||
|
* [Solr Tutorial](https://lucene.apache.org/solr/guide/solr-tutorial.html)
|
||||||
|
|
||||||
|
# How To Contribute
|
||||||
|
|
||||||
|
For information on how to contribute see:
|
||||||
|
* http://wiki.apache.org/lucene-java/HowToContribute
|
||||||
|
* http://wiki.apache.org/solr/HowToContribute
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
Welcome to Apache Solr Prometheus Exporter
|
||||||
|
========
|
||||||
|
|
||||||
|
Apache Solr Prometheus Exporter (solr-exporter) provides a way for you to expose metrics for Solr to Prometheus.
|
||||||
|
|
||||||
|
# Getting Started With Solr Prometheus Exporter
|
||||||
|
|
||||||
|
For information on how to get started with solr-exporter please see:
|
||||||
|
* [Solr Reference Guide's section on Monitoring Solr with Prometheus and Grafana](https://lucene.apache.org/solr/guide/monitoring-solr-with-prometheus-and-grafana.html)
|
||||||
|
|
||||||
|
# Getting Started With Solr
|
||||||
|
|
||||||
|
For information on how to get started with solr please see:
|
||||||
|
* [solr/README.txt](../../README.txt)
|
||||||
|
* [Solr Tutorial](https://lucene.apache.org/solr/guide/solr-tutorial.html)
|
||||||
|
|
||||||
|
# How To Contribute
|
||||||
|
|
||||||
|
For information on how to contribute see:
|
||||||
|
* http://wiki.apache.org/lucene-java/HowToContribute
|
||||||
|
* http://wiki.apache.org/solr/HowToContribute
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
BASEDIR=`dirname $0`/..
|
||||||
|
BASEDIR=`(cd "$BASEDIR"; pwd)`
|
||||||
|
|
||||||
|
# OS specific support. $var _must_ be set to either true or false.
|
||||||
|
cygwin=false;
|
||||||
|
darwin=false;
|
||||||
|
case "`uname`" in
|
||||||
|
CYGWIN*) cygwin=true ;;
|
||||||
|
Darwin*) darwin=true
|
||||||
|
if [ -z "$JAVA_VERSION" ] ; then
|
||||||
|
JAVA_VERSION="CurrentJDK"
|
||||||
|
else
|
||||||
|
echo "Using Java version: $JAVA_VERSION"
|
||||||
|
fi
|
||||||
|
if [ -z "$JAVA_HOME" ] ; then
|
||||||
|
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -z "$JAVA_HOME" ] ; then
|
||||||
|
if [ -r /etc/gentoo-release ] ; then
|
||||||
|
JAVA_HOME=`java-config --jre-home`
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
||||||
|
if $cygwin ; then
|
||||||
|
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||||
|
[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If a specific java binary isn't specified search for the standard 'java' binary
|
||||||
|
if [ -z "$JAVACMD" ] ; then
|
||||||
|
if [ -n "$JAVA_HOME" ] ; then
|
||||||
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||||
|
# IBM's JDK on AIX uses strange locations for the executables
|
||||||
|
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||||
|
else
|
||||||
|
JAVACMD="$JAVA_HOME/bin/java"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
JAVACMD=`which java`
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -x "$JAVACMD" ] ; then
|
||||||
|
echo "Error: JAVA_HOME is not defined correctly."
|
||||||
|
echo " We cannot execute $JAVACMD"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$REPO" ]
|
||||||
|
then
|
||||||
|
REPO="$BASEDIR"/lib
|
||||||
|
fi
|
||||||
|
|
||||||
|
CLASSPATH=$CLASSPATH_PREFIX
|
||||||
|
for JAR in $(find "$REPO" -name '*.jar')
|
||||||
|
do
|
||||||
|
CLASSPATH="$CLASSPATH":"$JAR"
|
||||||
|
done
|
||||||
|
for JAR in $(find "$BASEDIR"/../../dist/solrj-lib -name '*.jar')
|
||||||
|
do
|
||||||
|
CLASSPATH="$CLASSPATH":"$JAR"
|
||||||
|
done
|
||||||
|
for JAR in $(find "$BASEDIR"/../../dist -name 'solr-core-*.jar')
|
||||||
|
do
|
||||||
|
CLASSPATH="$CLASSPATH":"$JAR"
|
||||||
|
done
|
||||||
|
for JAR in $(find "$BASEDIR"/../../dist -name 'solr-solrj-*.jar')
|
||||||
|
do
|
||||||
|
CLASSPATH="$CLASSPATH":"$JAR"
|
||||||
|
done
|
||||||
|
for JAR in $(find "$BASEDIR"/../../dist -name 'solr-prometheus-exporter-*.jar')
|
||||||
|
do
|
||||||
|
CLASSPATH="$CLASSPATH":"$JAR"
|
||||||
|
done
|
||||||
|
for JAR in $(find "$BASEDIR"/lucene-libs -name '*.jar')
|
||||||
|
do
|
||||||
|
CLASSPATH="$CLASSPATH":"$JAR"
|
||||||
|
done
|
||||||
|
for JAR in $(find "$BASEDIR"/../../server/solr-webapp/webapp/WEB-INF/lib -name '*.jar')
|
||||||
|
do
|
||||||
|
CLASSPATH="$CLASSPATH":"$JAR"
|
||||||
|
done
|
||||||
|
|
||||||
|
EXTRA_JVM_ARGUMENTS="-Xmx512m -Dlog4j.configurationFile=file:"$BASEDIR"/../../server/resources/log4j2-console.xml"
|
||||||
|
|
||||||
|
# For Cygwin, switch paths to Windows format before running java
|
||||||
|
if $cygwin; then
|
||||||
|
[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
||||||
|
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
|
||||||
|
[ -n "$HOME" ] && HOME=`cygpath --path --windows "$HOME"`
|
||||||
|
[ -n "$BASEDIR" ] && BASEDIR=`cygpath --path --windows "$BASEDIR"`
|
||||||
|
[ -n "$REPO" ] && REPO=`cygpath --path --windows "$REPO"`
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$JAVACMD" $JAVA_OPTS \
|
||||||
|
$EXTRA_JVM_ARGUMENTS \
|
||||||
|
-classpath "$CLASSPATH" \
|
||||||
|
-Dapp.name="solr-exporter" \
|
||||||
|
-Dapp.pid="$$" \
|
||||||
|
-Dapp.repo="$REPO" \
|
||||||
|
-Dbasedir="$BASEDIR" \
|
||||||
|
org.apache.solr.prometheus.exporter.SolrExporter \
|
||||||
|
"$@"
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
@REM
|
||||||
|
@REM Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@REM contributor license agreements. See the NOTICE file distributed with
|
||||||
|
@REM this work for additional information regarding copyright ownership.
|
||||||
|
@REM The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
@REM (the "License"); you may not use this file except in compliance with
|
||||||
|
@REM the License. You may obtain a copy of the License at
|
||||||
|
@REM
|
||||||
|
@REM http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
@REM
|
||||||
|
@REM Unless required by applicable law or agreed to in writing, software
|
||||||
|
@REM distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@REM See the License for the specific language governing permissions and
|
||||||
|
@REM limitations under the License.
|
||||||
|
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
set ERROR_CODE=0
|
||||||
|
|
||||||
|
:init
|
||||||
|
@REM Decide how to startup depending on the version of windows
|
||||||
|
|
||||||
|
@REM -- Win98ME
|
||||||
|
if NOT "%OS%"=="Windows_NT" goto Win9xArg
|
||||||
|
|
||||||
|
@REM set local scope for the variables with windows NT shell
|
||||||
|
if "%OS%"=="Windows_NT" @setlocal
|
||||||
|
|
||||||
|
@REM -- 4NT shell
|
||||||
|
if "%eval[2+2]" == "4" goto 4NTArgs
|
||||||
|
|
||||||
|
@REM -- Regular WinNT shell
|
||||||
|
set CMD_LINE_ARGS=%*
|
||||||
|
goto WinNTGetScriptDir
|
||||||
|
|
||||||
|
@REM The 4NT Shell from jp software
|
||||||
|
:4NTArgs
|
||||||
|
set CMD_LINE_ARGS=%$
|
||||||
|
goto WinNTGetScriptDir
|
||||||
|
|
||||||
|
:Win9xArg
|
||||||
|
@REM Slurp the command line arguments. This loop allows for an unlimited number
|
||||||
|
@REM of agruments (up to the command line limit, anyway).
|
||||||
|
set CMD_LINE_ARGS=
|
||||||
|
:Win9xApp
|
||||||
|
if %1a==a goto Win9xGetScriptDir
|
||||||
|
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
||||||
|
shift
|
||||||
|
goto Win9xApp
|
||||||
|
|
||||||
|
:Win9xGetScriptDir
|
||||||
|
set SAVEDIR=%CD%
|
||||||
|
%0\
|
||||||
|
cd %0\..\..
|
||||||
|
set BASEDIR=%CD%
|
||||||
|
cd %SAVEDIR%
|
||||||
|
set SAVE_DIR=
|
||||||
|
goto repoSetup
|
||||||
|
|
||||||
|
:WinNTGetScriptDir
|
||||||
|
set BASEDIR=%~dp0..
|
||||||
|
|
||||||
|
:repoSetup
|
||||||
|
|
||||||
|
|
||||||
|
if "%JAVACMD%"=="" set JAVACMD=java
|
||||||
|
|
||||||
|
if "%REPO%"=="" set REPO=%BASEDIR%\lib
|
||||||
|
|
||||||
|
set CLASSPATH=%REPO%\*;%BASEDIR%\..\..\dist\solrj-lib\*;%BASEDIR%\..\..\dist\*;%BASEDIR%\lucene-libs\*;%BASEDIR%\..\..\server\solr-webapp\webapp\WEB-INF\lib\*
|
||||||
|
set EXTRA_JVM_ARGUMENTS=-Xmx512m -Dlog4j.configurationFile=file:///%BASEDIR%\..\..\server\resources\log4j2-console.xml
|
||||||
|
goto endInit
|
||||||
|
|
||||||
|
@REM Reaching here means variables are defined and arguments have been captured
|
||||||
|
:endInit
|
||||||
|
|
||||||
|
%JAVACMD% %JAVA_OPTS% %EXTRA_JVM_ARGUMENTS% -classpath "%CLASSPATH_PREFIX%;%CLASSPATH%" -Dapp.name="solr-exporter" -Dapp.repo="%REPO%" -Dbasedir="%BASEDIR%" org.apache.solr.prometheus.exporter.SolrExporter %CMD_LINE_ARGS%
|
||||||
|
if ERRORLEVEL 1 goto error
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:error
|
||||||
|
if "%OS%"=="Windows_NT" @endlocal
|
||||||
|
set ERROR_CODE=1
|
||||||
|
|
||||||
|
:end
|
||||||
|
@REM set local scope for the variables with windows NT shell
|
||||||
|
if "%OS%"=="Windows_NT" goto endNT
|
||||||
|
|
||||||
|
@REM For old DOS remove the set variables from ENV - we assume they were not set
|
||||||
|
@REM before we started - at least we don't leave any baggage around
|
||||||
|
set CMD_LINE_ARGS=
|
||||||
|
goto postExec
|
||||||
|
|
||||||
|
:endNT
|
||||||
|
@endlocal
|
||||||
|
|
||||||
|
:postExec
|
||||||
|
|
||||||
|
if "%FORCE_EXIT_ON_ERROR%" == "on" (
|
||||||
|
if %ERROR_CODE% NEQ 0 exit %ERROR_CODE%
|
||||||
|
)
|
||||||
|
|
||||||
|
exit /B %ERROR_CODE%
|
||||||
檔案差異因為檔案過大而無法顯示
載入差異
檔案差異因為檔案過大而無法顯示
載入差異
未顯示二進位檔案。
本差異變更的檔案數量過多導致部分檔案未顯示 顯示更多
新增問題並參考
封鎖使用者