As we now know how to set the desired similarity for each field in our index, it's time to see how to configure them if we need them, which is actually pretty easy. What we need to do is use the index settings section to provide an additional similarity section. An example is as follows (this example is stored in the posts_custom_similarity.json
file):
{ "settings" : { "index" : { "similarity" : { "mastering_similarity" : { "type" : "classic", "discount_overlaps" : false } } } }, "mappings" : { "post" : { "properties" : { "id" : { "type" : "long", "store" : "yes" }, "name" : { "type" : "text", "store" : "yes", "index" : "analyzed", "similarity" : "mastering_similarity" }, "contents" : { "type" : "text", "store" : "no", "index" : "analyzed" } } } } }
You can, of course...