Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java cassandra lucene-如何获得更高的得分_Java_Cassandra_Lucene_Stratio_Cassandra Lucene Index - Fatal编程技术网

Java cassandra lucene-如何获得更高的得分

Java cassandra lucene-如何获得更高的得分,java,cassandra,lucene,stratio,cassandra-lucene-index,Java,Cassandra,Lucene,Stratio,Cassandra Lucene Index,我希望表格中的某个字段的得分高于另一个字段。 例如,我有两列“姓名”。如果我搜索Hans,我希望name中的内容得分更高。 如何使用中的cql语句来实现这一点 问候 Tugi如中所述,每个搜索类型都有一个boost选项,允许用户为每个不同的查询设置权重 您的用例应该如下所示: CREATE KEYSPACE test with replication = { 'class' : 'SimpleStrategy', 'replication_factor' : '1' }; CREA

我希望表格中的某个字段的得分高于另一个字段。 例如,我有两列“姓名”。如果我搜索Hans,我希望name中的内容得分更高。 如何使用中的cql语句来实现这一点

问候 Tugi

如中所述,每个搜索类型都有一个boost选项,允许用户为每个不同的查询设置权重

您的用例应该如下所示:

CREATE KEYSPACE test with replication = {
    'class' : 'SimpleStrategy', 'replication_factor' : '1' 
}; 

CREATE TABLE test.users (
    id bigint PRIMARY KEY,
    name text,
    surname text
);

CREATE CUSTOM INDEX test_users_idx ON test.users() 
USING 'com.stratio.cassandra.lucene.Index'
WITH OPTIONS = {
    'refresh_seconds': '1',
    'schema': '{
        fields: {
            name: {type: "string"},
            surname:{type:"string"}
        }
    }'
};

INSERT INTO test.users(id, name, surname) VALUES (1, 'Hans', 'Albers');
INSERT INTO test.users(id, name, surname) VALUES (2, 'Quintina', 'Koch');
INSERT INTO test.users(id, name, surname) VALUES (3, 'Orlando', 'Schwarz');
INSERT INTO test.users(id, name, surname) VALUES (4, 'Federico', 'Hans');
INSERT INTO test.users(id, name, surname) VALUES (5, 'Berenice', 'Schwarz');
INSERT INTO test.users(id, name, surname) VALUES (6, 'Zaida', 'Koch');

SELECT * FROM test.users WHERE expr(test_users_idx,'{
    query: {
        type : "boolean", 
        should : [
            {type: "match", field: "name", value: "Hans", boost: 1.5},
            {type: "match", field: "surname", value: "Hans", boost: 1.0}
        ]
    }
}');