Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SOLR-14572 document missing SearchComponents #1581

Merged
merged 14 commits into from
Jun 17, 2020
Merged

SOLR-14572 document missing SearchComponents #1581

merged 14 commits into from
Jun 17, 2020

Conversation

epugh
Copy link
Contributor

@epugh epugh commented Jun 15, 2020

Description

Learned about a existing SearchComponent from 2012. Went to look at the related Ref Guide page and saw it was missing, plus two other components.

Solution

Add a table linking to the JavaDocs. Also point to the http://solr.cool website.

Tests

ant build of the ref guide.

Checklist

Please review the following and check all that apply:

  • [ X] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
  • [ X] I have created a Jira issue and added the issue ID to my pull request title.
  • [ X] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
  • [X ] I have developed this patch against the master branch.
  • I have run ant precommit and the appropriate test suite.
  • I have added tests for my changes.
  • [ X] I have added documentation for the Ref Guide (for Solr changes only).

Copy link
Contributor

@gerlowskija gerlowskija left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had a few questions you might care to think about, but nothing necessarily negative, just curiosities.

LGTM.

@@ -169,3 +169,15 @@ Many of the other useful components are described in sections of this Guide for
* `TermVectorComponent`, described in the section <<the-term-vector-component.adoc#the-term-vector-component,The Term Vector Component>>.
* `QueryElevationComponent`, described in the section <<the-query-elevation-component.adoc#the-query-elevation-component,The Query Elevation Component>>.
* `TermsComponent`, described in the section <<the-terms-component.adoc#the-terms-component,The Terms Component>>.

Other components that ship with Solr include:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm surprised you put these components in a separate table, rather than appending them to the existing list right above here. Any particular reason you kept this list separate from the list above?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These each have a detailed section in the Ref Guide, and in fact I was thinking of moving the Get component, which is covered in the Ref Guide up to here as well. Having said that, I'm rethinking the way the page lists the components out, and maybe taking a bigger pass through.

[cols="20,40,40",options="header"]
|===
|Component Name |Class Name |More Information
|phrases |`solr.PhrasesIdentificationComponent` | Learn more in the {solr-javadocs}org/apache/solr/handler/component/PhrasesIdentificationComponent.html[PhrasesIdentificationComponent] java class.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand the desire to avoid duplication here with the Javadoc content, but it might still be nice to have a 1 sentence description, so readers don't have to click through just to figure out whether they're interested.

That said, even without that, this PR raises the visibility of these components which is a Good Thing. So I'm happy either way.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @gerlowskija.. In looking at the page a day later, I think that a table that is more in the vein of `Component Name, Class Name (?), Purpose, More Information, where More Information is some links might be the way to go. Or, dropping the Class Name as kind of an implementaiton detail that you can look up on the More Information page. Which maybe gets me back to just one big list! I'll mull some more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good. You've clearly put more thought into it than I have, so I'll be happy with whatever you land on.

* `ResponseLogComponent`, used to record which documents are returned to the user via the Solr log, described in the {solr-javadocs}solr-core/org/apache/solr/handler/component/ResponseLogComponent.html[ResponseLogComponent] javadocs.
* `PhrasesIdentificationComponent`, used to identify & score "phrases" found in the input string, based on shingles in indexed fields, described in the {solr-javadocs}solr-core/org/apache/solr/handler/component/PhrasesIdentificationComponent.html[PhrasesIdentificationComponent] javadocs.

Lastly, you may be interested in some other components created by the community and listed on the https://solr.cool/#searchcomponents[Solr Cool] website.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's great to mention outside resources, though I'd like to point out that SearchComponent is merely one of many abstractions you could write a plugin for. Maybe we should mention "Solr Cool" in exactly one suitable place (about Solr plugins generally) instead of potentially many places.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was wondering about actually linking to the specific types of plugins on the Solr Cool site?

solr-cool/solr-cool.github.io#19

I was wondering about not adding that link in this PR, and doing a separate one with links from the relevant portions of the ref guide. Or maybe we need to have one place in ref guide with "related projects" or something? I'm hopeful that solr.cool ends up being a clearing house of community created extensions to Solr of all kinds ;-)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah let's separate external plugin advocacy to another issue and address that comprehensively.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense.

@epugh epugh merged commit 207efbc into apache:master Jun 17, 2020
epugh added a commit that referenced this pull request Jun 18, 2020
* Add an example explaining how to use

* fix up JavaDoc formatting

* add missing SearchComponents that ship with Solr, and point to external site with components.

* fix path

* simplify page layout by consolidating to lists

* add missing components that are documented elsewhere in refguide

* try to get pathing to pass precommit

* remove mention of solr.cool, in favour of a seperate PR that handles it differently
MarcusSorealheis added a commit to MarcusSorealheis/lucene-solr that referenced this pull request Jun 20, 2020
* upstream/master: (218 commits)
  LUCENE-9412 Do not validate jenkins HTTPS cert
  LUCENE-8962: add ability to selectively merge on commit (apache#1552)
  Replace DWPT.DocState with simple method parameters (apache#1594)
  LUCENE-9402: Let MultiCollector handle minCompetitiveScore (apache#1567)
  SOLR-14574: Fix or suppress warnings in solr/core/src/test (part 2)
  SOLR-14561 CoreAdminAPI's parameters instanceDir and dataDir are now validated (apache#1572)
  SOLR-14532: Add *.iml files to gitignore
  SOLR-14577: Return BAD REQUEST when field is missing in terms QP (apache#1588)
  SOLR-14574: Fix or suppress warnings in solr/core/src/test (part 1)
  remove debug code
  LUCENE-9408: roll back only called once enforcement
  LUCENE-8962: Allow waiting for all merges in a merge spec (apache#1585)
  SOLR-14572 document missing SearchComponents (apache#1581)
  LUCENE-9359: Avoid test failures when the extra file is a dir.
  SOLR-14573: Fix or suppress warnings in solrj/src/test
  LUCENE-9353: Move terms metadata to its own file. (apache#1473)
  Cleanup TermsHashPerField (apache#1573)
  SOLR-14558: Record all log lines in SolrLogPostTool (apache#1570)
  LUCENE-9404: simplify checksum calculation of ByteBuffersIndexOutput
  LUCENE-9403: tune BufferedChecksum.DEFAULT_BUFFERSIZE
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants