ElasticSearch,如何在MLT中使用“boost_terms”?

时间:2015-07-25 14:32:01

标签: elasticsearch morelikethis

https://www.elastic.co/guide/en/elasticsearch/reference/1.6/query-dsl-mlt-query.html#_query_formation_parameters

列出ABMultiValueRef,但没有说明我们应该如何使用它。

我也没能谷歌...

我试过

boost_terms

1 个答案:

答案 0 :(得分:1)

" boost_terms"是形成的"术语/查询"在MLT(不是字段)中,域是浮点数,默认值是1.0(=禁用)。它会更改查询中术语的权重向量。

用法示例:

 //On clicking Camera
    iv_camera.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent, CAMERA_REQUEST);
        }
    });

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
        if (data != null) {
            Log.e("Result Code", String.valueOf(resultCode));
            Bitmap photo = (Bitmap) data.getExtras().get("data");
            Uri selectedImageUri = data.getData();
            Log.e("ImageUri", String.valueOf(selectedImageUri));
            String realPath = getRealPathFromURI(selectedImageUri);
             Log.e("Real Path", realPath);
            imgProfilePic.setImageBitmap(photo);
        }
    }
}

//Get real path form Uri
public String getRealPathFromURI(Uri contentUri) {
    try {
        String[] proj = {MediaStore.Images.Media.DATA};
        Cursor cursor = managedQuery(contentUri, proj, null, null, null);
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        return cursor.getString(column_index);
    } catch (Exception e) {
        return contentUri.getPath();
    }
}