Я использую Lucene для поиска индекса, и он отлично работает. Моя единственная проблема в том, что мне нужна только одна область того, что возвращается. Можете ли вы указать Lucene, чтобы вернуть только определенное поле в результатах, а не весь документ?Возврат только определенных полей из Lucene Поиск
ответ
Именно поэтому FieldSelector
класс существует. Вы можете реализовать класс, как этого
class MyFieldSelector : FieldSelector
{
public FieldSelectorResult Accept(string fieldName)
{
if (fieldName == "field1") return FieldSelectorResult.LOAD_AND_BREAK;
return FieldSelectorResult.NO_LOAD;
}
}
и использовать его в качестве indexReader.Document(docid,new MyFieldSelector());
Если вы заинтересованы в загрузке небольшой поля, это помешает загружать больших поля, которые, в свою очередь, означает ускорение загрузки документов. Я думаю, вы можете найти гораздо более подробную информацию по некоторым поисковым системам.
Что значит «вернуть определенные поля»? Функция Document.get() возвращает только поле, которое вы запрашиваете.
Да, вы можете определенно сделать то, что вы просите. Все, что вам нужно сделать, это указать имя поля (с учетом регистра) в методе document.get().
string fieldNameText = doc.Get("fieldName");
FYI, обычно рекомендуется включать код в свои вопросы. Это облегчает предоставление хорошего ответа.
Я получаю то, что вы говорите, и это то, что я делаешь сейчас. Я пытаюсь ограничить, какие поля включены в документ. – aaronj
Вы не спросили, как ограничить, какие поля включены в документ. Вы спросили, как вернуть определенное поле в результаты. Я не уверен, что вы задаете правильный вопрос. – SharpBarb
@SharpBarb, 'Вы спросили, как вернуть определенное поле в результаты. Я не уверен, что вы отвечаете на правильный вопрос. Пожалуйста, снова прочитайте вопрос после прочтения моего ответа. Я думаю, что я буду иметь смысл тогда –
- 1. MongoDB - Возврат определенных полей документа
- 2. Возврат определенных полей в mongodb
- 3. Kibana-Elastic Поиск для возврата только определенных полей из интерфейса
- 4. Сделать woocommerce поиск товаров только поиск определенных полей
- 5. Возврат только определенных полей в вызове API в Symfony
- 6. Возврат только обновленных полей из базы данных
- 7. MongoDB: обновление только определенных полей
- 8. ES поиск запроса вызов и возврат только выбранных полей
- 9. Поиск lucene
- 10. Возврат только определенных свойств большого объекта?
- 11. возврат определенных значений из hashmap
- 12. Возврат определенных переменных из функции?
- 13. SQL Возврат только определенных строк при условии
- 14. awk поиск и замена для определенных полей
- 15. MarkLogic поиск и получение определенных полей
- 16. Sitecore Поиск Lucene Рейтинг
- 17. Поиск по MultiFields lucene
- 18. Выбор определенных полей из отношения
- 19. Zend Lucene поиск похожих объектов?
- 20. Возврат определенных полей в субдокумент с использованием Meteor
- 21. Настройка Logstash для включения только определенных полей
- 22. поиск подстроки в lucene
- 23. minimongo запрос только для определенных полей
- 24. Lucene Индексирование и поиск
- 25. Обработка нескольких полей в Lucene
- 26. Добавление определенных полей из csv
- 27. поиск подстановочных знаков только для определенных элементов
- 28. Возврат определенных полей для поиска elastics в рельсах
- 29. ActiveModel :: Грязные часы только для определенных полей
- 30. Обновление только объекта при изменении определенных полей
Это то, что я использую сейчас, но мне нужно только одно поле, поэтому мне просто интересно, есть ли способ вернуть это поле вместо всего документа. – aaronj
@aaron: Я до сих пор не уверен, что вы подразумеваете под «возвращением». Полученный текст из 'Document.get' - это только текст этого поля. Если вы имеете в виду, что не хотите сохранять значения других полей, просто отметьте их как не сохраненные. – Xodarap
-1 но 'reader.Document' загружает весь документ, а не только одно поле –