Skip to content

Commit

Permalink
Merge branch 'solr6_0' into solr6_1
Browse files Browse the repository at this point in the history
# Conflicts:
#	pom.xml
#	querqy-antlr/pom.xml
#	querqy-core/pom.xml
#	querqy-for-lucene/querqy-lucene/pom.xml
#	querqy-for-lucene/querqy-solr/pom.xml
  • Loading branch information
renekrie committed Dec 17, 2016
2 parents 08c0065 + 6965d47 commit 49646cd
Show file tree
Hide file tree
Showing 134 changed files with 1,818 additions and 1,039 deletions.
8 changes: 4 additions & 4 deletions .gitignore
Expand Up @@ -7,10 +7,10 @@ target/*
.DS_Store

# modules
*/.classpath
*/.project
*/.settings
*/target
**/.classpath
**/.project
**/.settings
**/target

#files
*.iml
Expand Down
27 changes: 16 additions & 11 deletions README.md
@@ -1,12 +1,13 @@
![travis ci build status](https://travis-ci.org/renekrie/querqy.png) [ ![Download](https://api.bintray.com/packages/renekrie/maven/querqy/images/download.svg) ](https://bintray.com/renekrie/maven/querqy/_latestVersion)
![travis ci build status](https://travis-ci.org/renekrie/querqy.png)
[ ![Download Querqy for Lucene/Solr](https://api.bintray.com/packages/renekrie/maven/querqy-for-lucene/images/download.svg) ](https://bintray.com/renekrie/maven/querqy-for-lucene/_latestVersion)
# Querqy

Querqy is a framework for query preprocessing in Java-based search engines. It comes with a powerful, rule-based preprocessor named 'Common Rules Preprocessor', which provides query-time synonyms, query-dependent boosting and down-ranking, and query-dependent filters. While the Common Rules Preprocessor is not specific to any search engine, Querqy provides a plugin to run it within the Solr search engine.

## Getting started: setting up Common Rules under Solr

### Getting Querqy and deploying it to Solr
Querqy versions 1.x.x work with Solr 4.10.x, while Querqy versions 2.x.x require Solr 5, and Querqy versions 3.x.x maps to Solr 6. Detailed Solr version mapping:
Querqy versions 1.x.x work with Solr 4.10.x, while Querqy versions 2.x.x require Solr 5, and Querqy versions 3.x.x map to Solr 6. Detailed Solr version mapping:

- Querqy 2.0.x to 2.5.x - Solr 5.0
- Querqy 2.6.x to 2.7.x - Solr 5.1
Expand All @@ -15,7 +16,8 @@ Querqy versions 1.x.x work with Solr 4.10.x, while Querqy versions 2.x.x require
- Querqy 2.10.x - Solr 5.5.x
- Querqy 3.0.x - Solr 6.0.x

You can download a .jar file that includes Querqy and all required dependencies from [Bintray] (https://bintray.com/renekrie/maven/querqy) (querqy/querqy-solr/\<version\>/querqy-solr-\<version\>-jar-with-dependencies.jar) and simply put it into [Solr's lib folder](https://cwiki.apache.org/confluence/display/solr/Lib+Directives+in+SolrConfig).
You can download a .jar file that includes Querqy and all required dependencies from Bintray: [https://bintray.com/renekrie/maven/querqy-for-lucene](https://bintray.com/renekrie/maven/querqy-for-lucene) (Files - querqy/querqy-solr/\<version\>/querqy-solr-\<version\>-jar-with-dependencies.jar) and simply put it into [Solr's lib folder](https://cwiki.apache.org/confluence/display/solr/Lib+Directives+in+SolrConfig).
Please check the Bintray package [https://bintray.com/renekrie/maven/querqy](https://bintray.com/renekrie/maven/querqy) for Querqy core artifacts and Querqy versions prior to 2.7.4 (Solr 5.1), 2.8.4 (Solr 5.3), 2.9.5 (Solr 5.4), 2.10.4 (Solr 5.5), 3.0.3 (Solr 6.0).

Alternatively, if you already have a Maven build for your Solr plugins, you can add the artifact 'querqy-solr' as a dependency to your pom.xml:

Expand Down Expand Up @@ -263,9 +265,9 @@ kinder* =>

Wildcard matching can be used for all rule types. There are some restrictions in the current wildcard implementation, which might be removed in the future:

- Synonyms are the only rules type that can pick up the '$1' placeholder.
- Synonyms and boostings (UP/DOWN) are the only rule types that can pick up the '$1' placeholder.
- The wildcard can only occur at the very end of the input matching.
- It cannot be combined with the right-hand input boundary marker (...").
- It cannot be combined with the right-hand input boundary marker (...").


#### SYNONYM rules
Expand Down Expand Up @@ -603,15 +605,18 @@ Querqy is licensed under the [Apache License, Version 2](http://www.apache.org/l

## Development

### Branches
Please base development on the branch for the corresponding Solr version.

### Modules

- `querqy-antlr` - An [ANTLR-based](http://www.antlr.org/) Querqy query parser (incomplete, do not use)
- `querqy-core` - The core component. Search-engine independent, Querqy's query object model, Common Rules Rewriter
- `querqy-lucene` - Lucene-specific components. Builder for creating a Lucene query from Querqy's query object model
- `querqy-solr` - Solr-specific components. QParserPlugin, SearchComponent.
- `querqy-for-lucene/querqy-lucene` - Lucene-specific components. Builder for creating a Lucene query from Querqy's query object model
- `querqy-for-lucene/querqy-solr` - Solr-specific components. QParserPlugin, SearchComponent.

querqy-core and querqy-for-lucene are released separately and version numbers will diverge.

### Branches
Please base development on the branch for the corresponding Solr version. querqy-core development should be based on the branch for the latest Solr version.


### Contributors

Expand Down
158 changes: 19 additions & 139 deletions pom.xml
@@ -1,147 +1,27 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>querqy</groupId>
<artifactId>querqy-parent</artifactId>
<version>3.1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<scm>
<groupId>querqy</groupId>
<artifactId>querqy-parent</artifactId>
<version>3.1.0-SNAPSHOT</version>
<packaging>pom</packaging>

<scm>
<url>git@github.com:renekrie/querqy.git</url>
<connection>scm:git:git@github.com:renekrie/querqy.git</connection>
<developerConnection>scm:git:git@github.com:renekrie/querqy.git</developerConnection>
<tag>HEAD</tag>
</scm>

<prerequisites>
<maven>3.2.0</maven>
</prerequisites>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<lucene.version>6.1.0</lucene.version>
<commons.io.version>2.1</commons.io.version>
<junit.version>4.11</junit.version>
<hamcrest.version>1.3</hamcrest.version>
<mockito.version>1.10.19</mockito.version>
</properties>

<modules>
<module>querqy-core</module>
<module>querqy-antlr</module>
<module>querqy-lucene</module>
<module>querqy-solr</module>
</modules>

<dependencies>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>${hamcrest.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<tag>HEAD</tag>
</scm>

<prerequisites>
<maven>3.2.0</maven>
</prerequisites>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<systemPropertyVariables>
<tests.codec>Lucene60</tests.codec>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.5</version>
<configuration>
<useReleaseProfile>false</useReleaseProfile>
<releaseProfiles>release</releaseProfiles>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<instrumentation>
<excludes>
<exclude>**/*Test.class</exclude>
</excludes>
</instrumentation>
</configuration>
<executions>
<execution>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.6</version>
</plugin>
</plugins>
</reporting>
<modules>
<module>querqy-core</module>
<module>querqy-antlr</module>
<module>querqy-for-lucene</module>
</modules>

<distributionManagement>
<repository>
<id>bintray-rene-maven</id>
<name>renekrie-maven-querqy</name>
<url>https://api.bintray.com/maven/renekrie/maven/querqy</url>
</repository>
</distributionManagement>
</project>

0 comments on commit 49646cd

Please sign in to comment.