Сфинкс не возвращает совпадения при запросах с Nodejs и известняком - PullRequest
0 голосов
/ 06 марта 2012

Я пытался использовать Nodejs и известняк для запроса документов сфинкса. Но он возвращает атрибут sphinx и поля только

Содержимое моего файла выглядит следующим образом,

var limestone = require("limestone").SphinxClient();
limestone.connect("192.168.1.113:3312", function(err) {
    if (!err) {

        limestone.query({query: "test", maxmatches:1, indexes:"phoneindex"}, function(err, answer){
            if (!err) {
                console.log("Extended search for 'test' yielded " + answer.match_count + " results: " + JSON.stringify(answer));
                limestone.disconnect();
            }else{
                console.log("Connected ERR: "+err);
            }
        });
    }
});

Вывести следующим образом,

Extended search for 'test' yielded 0 results: {"status":0,"num_fields":2,"fields":[{"name":"name"},{"name":"phone"}],"attributes":[],"matches":[],"num_attrs":0,"match_count":0,"id64":0,"total":0,"total_found":0,"msecs":0,"words_count":1,"words":{"test":{"docs":0,"hits":0}}}

Телефонный индекс имеет 4 значения, но в приведенном выше результате совпадения пустые. Пожалуйста, помогите в этом.

Ответы [ 2 ]

1 голос
/ 06 марта 2012

Почему вы указываете

maxmatches:1

?Уверен, что это вызовет проблемы.

Но в противном случае вы пробовали запрос вне узла / известняка.Например, используя инструмент командной строки 'search'.

Правильно ли построены ваши индексы?Показывает ли 'indextool --dumpheader' действительные данные?

А как насчет использования test.pl/.php/.py в папке api / установки sphinx?

Еще одна область проверкижурнал запросов сфинксов.(если он у вас включен)

... использование этих инструментов поможет сузить его причину.

0 голосов
/ 08 марта 2012

Наконец-то появилась проблема.

Подстановочный знак не включен в индексах. Но limestone.js, запрашивающий слово «тест». Таким образом, node.js & известняк не дает никакого результата для меня. Итак, я добавил (не правильно) query["query"] = ""; строка №: 284 в limestone.js. Теперь он работает нормально для меня.

Спасибо за отличный модуль известняк

...