[ 
https://issues.apache.org/jira/browse/SOLR-5378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13831061#comment-13831061
 ] 

Steve Rowe commented on SOLR-5378:
----------------------------------

The failures yesterday of the Maven Jenkins build on trunk 
([https://builds.apache.org/job/Lucene-Solr-Maven-trunk/1033/]) and branch_4x 
([https://builds.apache.org/job/Lucene-Solr-Maven-4.x/514/]) are caused by 
missing license files for newly introduced indirect compile-time Solr 
dependencies on the expression modules' dependencies in 
{{lucene/expressions/lib/\*}}: {{antlr-runtime-3.5.jar}}, {{asm-4.1.jar}}, and 
{{asm-commons-4.1.jar}}.

Here's where the indirect deps were introduced on trunk: 
[https://svn.apache.org/viewvc/lucene/dev/trunk/solr/common-build.xml?r1=1544793&r2=1544792&pathrev=1544793&diff_format=f#l78].

Here's the failure message from the Jenkins Maven trunk build log:

{noformat}
 [licenses] MISSING sha1 checksum file for: 
/home/hudson/.m2/repository/org/antlr/antlr-runtime/3.5/antlr-runtime-3.5.jar
 [licenses] EXPECTED sha1 checksum file : 
/usr/home/hudson/hudson-slave/workspace/Lucene-Solr-Maven-trunk/solr/licenses/antlr-runtime-3.5.jar.sha1
 [licenses] MISSING sha1 checksum file for: 
/home/hudson/.m2/repository/org/ow2/asm/asm-commons/4.1/asm-commons-4.1.jar
 [licenses] EXPECTED sha1 checksum file : 
/usr/home/hudson/hudson-slave/workspace/Lucene-Solr-Maven-trunk/solr/licenses/asm-commons-4.1.jar.sha1
 [licenses] MISSING sha1 checksum file for: 
/home/hudson/.m2/repository/org/ow2/asm/asm/4.1/asm-4.1.jar
 [licenses] EXPECTED sha1 checksum file : 
/usr/home/hudson/hudson-slave/workspace/Lucene-Solr-Maven-trunk/solr/licenses/asm-4.1.jar.sha1
 [licenses] Scanned 46 JAR file(s) for licenses (in 0.55s.), 3 error(s).
{noformat}

The Maven build problem is the assumption that compile-time dependencies in the 
Ant build will be Maven runtime dependencies.  When I run {{ant 
prepare-release-no-sign}} under {{solr/}}, though, only 
{{lucene-expressions-<version>.jar}} is included in the distribution - none of 
its dependencies are.

So, assuming that usage of the expressions module requires inclusion of its 
dependencies, I think there are three problems here:

# The expression module dependencies should be included in the Solr distribution
# The expression module dependencies' license, notice and checksum files should 
be included under {{solr/licenses/}}
# The {{check-licenses}} task under {{solr/}}, as currently written, assumes 
that all dependencies are located under {{solr/}}, so using {{lib/}} 
directories' contents under {{lucene/}} from the {{solr/}} build blocks this 
check from functioning properly.  I think these indirect dependencies should be 
made direct via inclusion in an {{ivy.xml}} file under {{solr/}}, not sure 
which one is appropriate.


> Suggester Version 2
> -------------------
>
>                 Key: SOLR-5378
>                 URL: https://issues.apache.org/jira/browse/SOLR-5378
>             Project: Solr
>          Issue Type: New Feature
>          Components: search
>            Reporter: Areek Zillur
>            Assignee: Shalin Shekhar Mangar
>         Attachments: SOLR-5378.patch, SOLR-5378.patch, SOLR-5378.patch, 
> SOLR-5378.patch, SOLR-5378.patch, SOLR-5378.patch, SOLR-5378.patch, 
> SOLR-5378.patch, SOLR-5378.patch, SOLR-5378.patch, SOLR-5378.patch, 
> SOLR-5378.patch, SOLR-5378.patch
>
>
> The idea is to add a new Suggester Component that will eventually replace the 
> Suggester support through the SpellCheck Component.
> This will enable Solr to fully utilize the Lucene suggester module (along 
> with supporting most of the existing features) in the following ways:
>    - Dictionary pluggability (give users the option to choose the dictionary 
> implementation to use for their suggesters to consume)
>    - Map the suggester options/ suggester result format (e.g. support for 
> payload)
>    - The new Component will also allow us to have "beefier" Lookup support 
> instead of resorting to collation and such. (Move computation from query time 
> to index time) with more freedom
> In addition to this, this suggester version should also have support for 
> distributed support, which was awkward at best with the previous 
> implementation due to SpellCheck requirements.
> Config (index time) options:
>   - name - name of suggester
>   - sourceLocation - external file location (for file-based suggesters)
>   - lookupImpl - type of lookup to use [default JaspellLookupFactory]
>   - dictionaryImpl - type of dictionary to use (lookup input) [default
>     (sourceLocation == null ? HighFrequencyDictionaryFactory : 
> FileDictionaryFactory)]
>   - storeDir - location to store in-memory data structure in disk
>   - buildOnCommit - command to build suggester for every commit
>   - buildOnOptimize - command to build suggester for every optimize
> Query time options:
>   - suggest.dictionary - name of suggester to use
>   - suggest.count - number of suggestions to return
>   - suggest.q - query to use for lookup
>   - suggest.build - command to build the suggester
>   - suggest.reload - command to reload the suggester
> Example query:
> {code}
> http://localhost:8983/solr/suggest?suggest.dictionary=mySuggester&suggest=true&suggest.build=true&suggest.q=elec
> {code}
> Distributed query:
> {code}
> http://localhost:7574/solr/suggest?suggest.dictionary=mySuggester&suggest=true&suggest.build=true&suggest.q=elec&shards=localhost:8983/solr,localhost:7574/solr&shards.qt=/suggest
> {code}
> Example Response:
> {code}
> <response>
>   <lst name="responseHeader">
>     <int name="status">0</int>
>     <int name="QTime">28</int>
>   </lst>
>   <str name="command">build</str>
>   <result name="response" numFound="0" start="0" maxScore="0.0"/>
>   <lst name="suggest">
>     <lst name="suggestions">
>       <lst name="e">
>         <int name="numFound">2</int>
>         <lst name="suggestion">
>           <str name="term">electronics and computer1</str>
>           <long name="weight">2199</long>
>           <str name="payload"/>
>         </lst>
>         <lst name="suggestion">
>           <str name="term">electronics</str>
>           <long name="weight">649</long>
>           <str name="payload"/>
>         </lst>
>       </lst>
>     </lst>
>   </lst>
> </response>
> {code}
> Example config file:
>    - Using DocumentDictionary and FuzzySuggester 
>    -- Suggestion on product_name sorted by popularity with the additional 
> product_id in the payload
> {code}  
>   <searchComponent class="solr.SuggestComponent" name="suggest">
>       <lst name="suggester">
>         <str name="name">suggest_fuzzy_doc_dict</str>
>         <str name="lookupImpl">FuzzyLookupFactory</str>
>         <str name="dictionaryImpl">DocumentDictionaryFactory</str>
>         <str name="field">product_name</str>
>         <str name="weightField">popularity</str>
>         <str name="payloadField">product_id</str>
>         <str name="storeDir">suggest_fuzzy_doc_dict_payload</str>
>         <str name="suggestAnalyzerFieldType">text</str>
>       </lst>
>     </searchComponent>
> {code}
>   - Using DocumentExpressionDictionary and FuzzySuggester
>   -- Suggestion on product_name sorted by the expression "((price * 2) + 
> ln(popularity))" (where both price and popularity are fields in the document)
> {code}
>     <searchComponent class="solr.SuggestComponent" name="suggest">
>       <lst name="suggester">
>         <str name="name">suggest_fuzzy_doc_expr_dict</str>
>         <str name="dictionaryImpl">DocumentExpressionDictionaryFactory</str>
>         <str name="lookupImpl">FuzzyLookupFactory</str>
>         <str name="field">product_name</str>
>         <str name="weightExpression">((price * 2) + ln(popularity))</str>
>         <str name="sortField">weight</str>
>         <str name="sortField">price</str>
>         <str name="strtoreDir">suggest_fuzzy_doc_expr_dict</str>
>         <str name="suggestAnalyzerFieldType">text</str>
>       </lst>
>     </searchComponent>
> {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to