I'm trying to figure out how Examine scores it's results. I do find information about Lucene and that it uses VSM and Boolean Model but surely either Lucene or Examine prioritize certain index fields more then others? For example, does an occurence of the term in the name/h1 boost it more then if it occures in the text field?
Default boost/scoring with Examine?
231 Views Asked by user2017748 At
1
There are 1 best solutions below
Related Questions in LUCENE
- How to update Cassandra Lucene index with a new column? rebuild or update index?
- How to glue (merge) files Lucene?
- Apache Lucene performance estimation
- Lucene DocValues.Source deprecated
- Solr score diff in doc list and Explain score
- How do I reload the index before searching in Hibernate Lucene
- Using Lucene 9.10.0 MemoryIndex in Java to ingest and search IntField and use rangequery
- How can i use a builtin analyzer in my entity with Hibernate Search
- Atlas Search Index Build Fail
- how to use hiberanate search 7.1.0 analyzer settin in spring boot 3
- Suggester template Search issue ElasticSearch
- I'm using hibernate text based search and indexing. I want to search common rows between indexed tables using Lucene query
- Merging Solr index stored in HDFS not working
- Can't find document at lucene index with no delimeter in phrase
- How do I get the list of the full indexed terms in an ElasticSearch index?
Related Questions in UMBRACO
- Call a javascript function on form submission in Umbraco
- Creating a Custom field type in Umbraco to supports the invisible enterprise reCaptcha
- How to filter swiper carousel using jquery?
- Cannot DROP CONSTRAINT in SQL Server
- Adding custom text field to umbraco form setting
- Adding UseCookieConsent to Umbraco causes HTTP 417: Expectation Failed in the back office
- Umbraco content delivery api method to combine queries
- Path returns at negative number string - UmbracoHelper
- Umbraco 13 Macro Parameters Rich Text Editor
- Building a Queries in Umbraco 12+
- Can I create all CRUD Operations in a Surface Controller in Umbraco?
- Loop through a subset then the main set C#, Razor, linq, Umbraco
- get model data from form during post in Umbraco 10
- How can I update multiple Nuget packages to a specific version at the same time?
- Umbraco 13 - Customized dictionary search
Related Questions in EXAMINE
- Umbraco + Examine + Lucene.NET Index Problem
- Umbraco 10 - Using a custom index to index items saved in wwwroot
- Indexing files saved under wwwroot in Umbraco 10
- Umbraco 10 Examine search with wildcards
- Umbraco 10 Examine search, to return matches found in page titles and content
- Default boost/scoring with Examine?
- Lucene wildcard for substring query
- creating search logic in UMBRACO 8
- Umbraco 8 Examine/Lucene query returns no results in code but searching from the backoffice works as expected
- Umbraco Examine - How to handle quotation marks inside search term?
- Umbraco Examine - Using both fuzzy & wildcard search
- Restart Timer Using Javascript
- Umbraco (Examine) Search - Synonyms
- Case insensitive search in Examine Index (Lucene)
- Umbraco Examine File Locking Azure App Service
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Examine is a library that sits on top of Lucene.Net, a high-performance search engine library and Lucene's scoring greatly depends on how documents are indexed.
If you check Lucene's
IndexSearcher.explain(Query, doc), you will see that the Query determines which documents match (a binary decision), while the Similarity determines how to assign scores to the matching documents.Further details from the same Lucene document;
Fields and Documents
In Lucene, the objects we are scoring are Documents. A Document is a collection of Fields. Each Field has semantics about how it is created and stored (tokenized, stored, etc). It is important to note that Lucene scoring works on Fields and then combines the results to return Documents. This is important because two Documents with the exact same content, but one having the content in two Fields and the other in one Field may return different scores for the same query due to length normalization.
Score Boosting
Lucene allows influencing search results by "boosting" at different times:
Indexing time boosts are pre-processed for storage efficiency and written to storage for a field as follows:
computeNorm(). The actual encoding depends upon the Similarity implementation, but note that most use a lossy encoding (such as multiplying the boost with document length or similar, packed into a single byte!).Changing Scoring — Similarity
Changing Similarity is an easy way to influence scoring, this is done at index-time with IndexWriterConfig.setSimilarity(Similarity) and at query-time with IndexSearcher.setSimilarity(Similarity). Be sure to use the same Similarity at query-time as at index-time (so that norms are encoded/decoded correctly); Lucene makes no effort to verify this.
You can influence scoring by configuring a different built-in Similarity implementation, or by tweaking its parameters, subclassing it to override behavior. Some implementations also offer a modular API which you can extend by plugging in a different component (e.g. term frequency normalizer).
Finally, you can extend the low level Similarity directly to implement a new retrieval model, or to use external scoring factors particular to your application. For example, a custom Similarity can access per-document values via FieldCache or DocValues and integrate them into the score.
See the org.apache.lucene.search.similarities package documentation for information on the built-in available scoring models and extending or changing Similarity.