Solr JSON Facet API has field / term facets, range facets, query facets, nested facets or sub-facets and stats / analytics like sum, avg, unique, percentile
Link to description on how to use facet-ing, group-ing, stats-ing more properly.
Three Goblin Art

祝日 / Permanent Vacation
PUT YOUR BEARD IN MY MOUTH
Not today Justin
will byers stan first human second

ellievsbear
YOU ARE THE REASON

JVL
tumblr dot com
Sweet Seals For You, Always

⁂
"I'm Dorothy Gale from Kansas"
let's talk about Bridgerton tea, my ask is open
hello vonnie
2025 on Tumblr: Trends That Defined the Year

izzy's playlists!
taylor price

★
occasionally subtle
Cosmic Funnies

seen from Italy

seen from United States
seen from United Kingdom
seen from United States

seen from Poland
seen from United States
seen from Ecuador
seen from United States

seen from Indonesia

seen from Canada
seen from Ecuador

seen from United Kingdom
seen from Ecuador
seen from Ecuador
seen from United States

seen from United States
seen from United States

seen from United States

seen from United States
seen from United States
@omembe-blog
Solr JSON Facet API has field / term facets, range facets, query facets, nested facets or sub-facets and stats / analytics like sum, avg, unique, percentile
Link to description on how to use facet-ing, group-ing, stats-ing more properly.
Note: I decided to put the summary and conclusion first, for the benefit of people stumbling across this article from a search engine. You guys might not want to read a wall of text. For everyone e…
Java and the JVM (Java's virtual machine) are widely used and required for many kinds of software. This article will guide you through the process of installing and managing different versions of Java using `apt-get`.
Substitute for PHP Artisan Serve
In new version of Lumen (A Laravel Micro Framework), ‘php artisan serve’ command is removed. Therefore, the following command can be used for its substitute.
php -S localhost:8000 -t ./public
Lumen is a "micro-framework" built on top of Laravel's components created by Taylor Otwell who is also responsible for Laravel. In this tutorial, we'll implement a simple RESTful API. This API based on storing and showing book information.
How to setup and use Lumen, a Laravel Micro Framework
Laravel is a comprehensive and opinionated PHP framework that's great for getting projects up and running quickly. I'm a huge fan of the ...
How to setup, install and deploy Laravel on digitalocean.com
How to add a website certitificate
As long as I’ve been using a Mac I always understood that if you needed to set $JAVA_HOME for any program, it should be set...
Determine where is JAVA_HOME is located
Notes and solution for javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.
If I ever get SSL Exception. This is one way to solve it: add the website certificate direcly into java
I'm new at the branching complexities of Git. I always work on a single branch and commit changes and then periodically push to my remote origin. Somewhere recently, I did a reset of some files to...
HEAD is the symbolic name for the currently checked out commit. When HEAD is not detached (the “normal”1 situation: you have a branch checked out), HEAD actually points to a branch’s “ref” and the branch points to the commit. HEAD is thus “attached” to a branch. When you make a new commit, the branch that HEAD points to is updated to point to the new commit. HEAD follows automatically since it just points to the branch.
git symbolic-ref HEAD yields refs/heads/master The branch named “master” is checked out.
git rev-parse refs/heads/master yield 17a02998078923f2d62811326d130de991d1a95a That commit is the current tip or “head” of the master branch.
git rev-parse HEAD also yields 17a02998078923f2d62811326d130de991d1a95a This is what it means to be a “symbolic ref”. It points to an object through some other reference. (Symbolic refs were originally implemented as symbolic links, but later changed to plain files with extra interpretation so that they could be used on platforms that do not have symlinks.)
We have HEAD → refs/heads/master → 17a02998078923f2d62811326d130de991d1a95a
When HEAD is detached, it points directly to a commit—instead of indirectly pointing to one through a branch. You can think of a detached HEAD as being on an unnamed branch.
git symbolic-ref HEAD fails with fatal: ref HEAD is not a symbolic ref
git rev-parse HEAD yields 17a02998078923f2d62811326d130de991d1a95a Since it is not a symbolic ref, it must point directly to the commit itself.
We have HEAD → 17a02998078923f2d62811326d130de991d1a95a
The important thing to remember with a detached HEAD is that if the commit it points to is otherwise unreferenced (no other ref can reach it), then it will become “dangling” when you checkout some other commit. Eventually, such dangling commits will be pruned through the garbage collection process (by default, they are kept for at least 2 weeks and may be kept longer by being referenced by HEAD’s reflog).
1 It is perfectly fine to do “normal” work with a detached HEAD, you just have to keep track of what you are doing to avoid having to fish dropped history out of the reflog.
The intermediate steps of an interactive rebase are done with a detached HEAD (partially to avoid polluting the active branch’s reflog). If you finish the full rebase operation, it will update your original branch with the cumulative result of the rebase operation and reattach HEAD to the original branch. My guess is that you never fully completed the rebase process; this will leave you with a detached HEAD pointing to the commit that was most recently processed by the rebase operation.
To recover from your situation, you should create a branch that points to the commit currently pointed to by your detached HEAD:
git branch temp git checkout temp
(these two commands can be abbreviated as git checkout -b temp)
This will reattach your HEAD to the new temp branch.
Next, you should compare the current commit (and its history) with the normal branch on which you expected to be working:
git log --graph --decorate --pretty=oneline --abbrev-commit master origin/master temp git diff master temp git diff origin/master temp
(You will probably want to experiment with the log options: add -p, leave off --pretty=… to see the whole log message, etc.)
If your new temp branch looks good, you may want to update (e.g.) master to point to it:
git branch -f master temp git checkout master
(these two commands can be abbreviated as git checkout -B master temp)
You can then delete the temporary branch:
git branch -d temp
Finally, you will probably want to push the reestablished history:
git push origin master
You many need to use --force to push if the remote branch can not be “fast-forwarded” to the new commit (i.e. you dropped, or rewrote some existing commit, or otherwise rewrote some bit of history).
If you were in the middle of a rebase operation you should probably clean it up. You can check whether a rebase was in process by looking for the directory .git/rebase-merge/. You can manually clean up the in-progress rebase by just deleting that directory (e.g. if you no longer remember the purpose and context of the active rebase operation). Usually you would use git rebase --abort, but that does some extra resetting that you probably want to avoid (it moves HEAD back to the original branch and resets it back to the original commit, which will undo some of the work we did above).
The top Java beginner's mistakes and anti-patterns
Several guides and code examples to avoid stupid mistakes in Java
Date, time, calendars and time zones in Java
The correct way to work using DateTime in Java
Another example of how to use spring-data-solr
Spring Data Solr Documentation
In the previous part of my Spring Data Solr tutorial, we learned that Solr provides a REST-like HTTP API which can be used to add information to Solr index
I find the examples here are very good for spring-data-solr
String Processing using Guava
The following code are copied from this page.
Remove All Lowercase Letters
@Test public void remove_all_lower_case_from_string () { String allButLowerCase = CharMatcher.JAVA_LOWER_CASE .negate() .retainFrom("B-double E double R U-N beer run"); assertEquals("B- E R U-N ", allButLowerCase); }
Trim Leading Spaces
@Test public void trim_leading_spaces_from_string () { String leftTrimmedString = CharMatcher.WHITESPACE .trimLeadingFrom(" Some String "); assertEquals("Some String ", leftTrimmedString); }
Trim Trailing Spaces
@Test public void trim_trailing_spaces_from_string () { String rightTrimmedString = CharMatcher.WHITESPACE .trimTrailingFrom(" Some String "); assertEquals(" Some String", rightTrimmedString); }
Trim All Spaces
@Test public void trim_all_spaces_from_string () { String trimmedString = CharMatcher.WHITESPACE .trimFrom(" Some String "); assertEquals("Some String", trimmedString); }
Remove All * Char from String
@Test public void remove_all_asterisk_from_string () { String stringWithoutAstricks = CharMatcher.is('*') .removeFrom("(* This is a comment. The compiler will ignore it. *)"); assertEquals("( This is a comment. The compiler will ignore it. )", stringWithoutAstricks); }
Validate Letter and Digit
@Test public void validate_all_charachters_in_string_is_digit_or_letter () { boolean randomPharse = CharMatcher.JAVA_LETTER_OR_DIGIT .matchesAllOf("wefwewef3r343fwdSVD()I#KMFI"); assertFalse(randomPharse); }
Grade is Passing
@Test public void grade_within_passing_range () { boolean failedGrade = CharMatcher .inRange('A', 'C') .apply('F'); assertFalse(failedGrade); }
Obtain Digits from String
@Test public void obtain_digits_from_telephone_number () { String telephoneNumber = CharMatcher .inRange('0','9') .retainFrom("123-456-7890"); assertEquals("1234567890", telephoneNumber); // worried about performance CharMatcher digits = CharMatcher .inRange('0','9') .precomputed(); String teleNumber = digits.retainFrom("123-456-7890"); assertEquals("1234567890", teleNumber); }
Count Matching Chars
@Test public void count_number_of_matching_chars () { int numberOfDigits = CharMatcher.DIGIT.countIn("123-LevelUpLunch"); assertEquals(3, numberOfDigits); }
Collapse Whitespace to Dash
@Test public void collapse_whitespace_dash () { String address = "505 Williams Street"; String addressWithDash = CharMatcher.WHITESPACE.collapseFrom(address, '-'); assertEquals("505-Williams-Street", addressWithDash); }